位置: IT常识 - 正文

摄像头标定--camera_calibration(摄像头标定方法)

编辑:rootadmin
摄像头标定--camera_calibration

参考链接:camera_calibration - ROS Wiki

为什么要标定

普通相机成像误差的主要来源有两部分,第一是相机感光元件制造产生的误差,比如成 像单元不是正方形、歪斜等;第二是镜头制造和安装产生的误差,镜头一般存在非线性的径 向畸变。 在对相机成像和三维空间中位置关系对应比较严格的场合(例如尺寸测量、视觉 SLAM 等)就需要准确的像素和物体尺寸换算参数,这参数必须通过实验与计算才能得到,求解参 数的过程就称之为相机标定。

标定前准备标定板

在执行摄像头标定前,需要先准备一块标定板。

标定板有两种获得方法,第一种是采购成品的标定板,A4纸大小的标定板通常价格在300~400的样子。

如果不想采购,可以使用打印机将下面的文件按照1:1打印在A4纸上,然后贴在一块纯平的版上,例如亚克力板。

推荐整理分享摄像头标定--camera_calibration(摄像头标定方法),希望有所帮助,仅作参考,欢迎阅读内容。

摄像头标定--camera_calibration(摄像头标定方法)

文章相关热门搜索词:摄像头标定是什么意思,摄像头标定的目的,摄像头标定原理,摄像头标定原理,摄像头标定原理,摄像头标定棋盘格,摄像头标定的目的,摄像头标定的目的,内容如对您有帮助,希望把文章链接给更多的朋友!

标定板PDF文件

打印的标定板缺点在于,第一打印机的精度有限,边缘可能会产生模糊,另外就是在粘贴时很难做到极高的平整度,这两项都会对标定结果产生一定的影响,但是优点时便宜易得。

摄像头调焦

标定只针对手动对焦的相机,自动对焦的相机由于焦距变化,难以形成固定的标定参数。

相机在标定前,需要调整好焦距(拧镜头),使成像清晰,并将当前焦距固定住,防止焦距产生变化。

标定摄像头

标定需要用到camera_calibration功能包,可以通过apt方式安装。

sudo apt install ros-noetic-camera-calibration

安装完成后启动相机

roscorerosrun usb_cam usb_cam_node

然后启动标定节点,启动这个节点传入的参数比较多,拆分来看一下

--size 11x8用于指明标定板的内角点数量,如下图每个红圈的位置就是一个内角点,我所使用的GP290标点板有横向有11个内角点,纵向有8个内角点。需要注意的时11x9中的‘x’时小写的英文字母‘x’,不是数学符号‘*’。

使用时根据你所使用标定板实际尺寸修稿

--square 0.02指明标定板中每个方块的边长0.02m,即2cm,根据你所使用标定板实际尺寸修稿

image:=/usb_cam/image_raw,指明图像话名。根据你实际使用的相机驱动节点产生的话题名做修改

rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.02 image:=/usb_cam/image_raw

标定启动后会出现这样的界面

拿着标定板放在相机视野内,标定板上出现彩色线条则为有效图像,反之无效,需要调整标定板位置。

分别在左右移动(X),直到标定界面上X下方的精度条为绿色,然后依次在上下(Y),远近(Size),倾斜(Skew)方向移动,移动过程尽量缓慢,避免大幅度的移动使相机成像产生拖影。持续移动直到所有的进度条都为绿色。

当所有进度条都变成绿色后,CALIBRATE按钮由灰色变成深绿色,点击CALIBRATE,点击一下后,界面会卡住,此时不要做任何操作,直到运行标定程序的终端输出标定的结果,大概是这样的。

标点完成后再将标定板放在相机视野内,右上角会出现标定结果的线性误差,通常这个值小于0.1或者显示acc都可以认为标定结果可用

点击标定界面的SAVE按钮,标定结果保存在/tmp/calibrationdata.tar.gz这个压缩包中,打开标定结果的压缩包,里面大概是这些内容,最后一个yaml文件就是我们需要的标定结果。

这里需要注意一下,/tmp目录中的文件随时可能会被系统删除,所以最好将标定的结构拷贝到其他目录下。例如我将ost.yaml文件拷贝至用户主目录~中。

使用标定结果

接下来由于需要编写launch文件,建议你创建一个功能包用于存放文件,例如我使用了我自己编写的bingda_tutorials功能包。在功能包中创建一个config目录,将在标定中的获得的ost.yaml文件拷贝至config目录。

cd ~/catkin_ws/src/bingda_tutorialsmkdir configcp ~/ost.yaml ./config/

在功能包的launch目录中创建launch文件,例如命名为bingda_camera.launch

<launch> <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" > <param name="video_device" value="/dev/video0" /> <param name="image_width" value="640" /> <param name="image_height" value="480" /> <param name="pixel_format" value="yuyv" /> <param name="camera_frame_id" value="usb_cam" /> <param name="io_method" value="mmap"/> <param name="camera_name" value="my_camera"/> <param name="camera_info_url" type="string" value="file://$(find bingda_tutorials)/config/ost.yaml"/> </node></launch>

在launch 文件中,将camera_name修改为my_camera,camera_info_url指向标定文件存放的路径和位置中。

然后将文件中的camera_name参数修改为和launch文件中的camera_name参数一致

image_width: 640image_height: 480camera_name: my_camera

现在通过编写luanch文件来启动摄像头

roslaunch bingda_tutorials bingda_camera.launch

使用echo将camera_info话题输出,可以看到摄像头的标定参数已经加载在话题中了

rostopic echo /usb_cam/camera_info

矫正图像 如果需要使用标定参数矫正图像,可以使用image_proc这个功能包 首先通过apt方式安装

sudo apt install ros-noetic-image-proc

安装完成后运行它,这里加入ROS_NAMESPACE是由于usb_cam这个功能包中发布的话题都带有了/usb_cam这个命名空间,所以为了保证图像和摄像头参数话题能正常的被image_proc节点接收需要给它加上命名空间/usb_cam

ROS_NAMESPACE=usb_cam rosrun image_proc image_proc

运行后打开两个rqt_image_view,分别订阅原始的/usb_cam/image_raw和畸变矫正后的/usb_cam/image_rect_color图像话题,下图是我使用一个广角相机运行的结果,可以看到畸变矫正效果很明显。

如果你使用的是视场角比较小或者标称无畸变的相机,可能对比效果没有这么明显,但是标定过程和广角是一致的。

本文链接地址:https://www.jiuchutong.com/zhishi/298817.html 转载请保留说明!

上一篇:ICLR 2023 | 达摩院开源轻量人脸检测DamoFD(达摩院 2021)

下一篇:前端开发:颜色代码速查表【英文颜色、HEX(十六进制)格式、RGB格式、十进制】(前端好看的颜色)

  • 使用qq群邮件推广的技巧分享(qq群邮件是发送给所有人吗)

    使用qq群邮件推广的技巧分享(qq群邮件是发送给所有人吗)

  • 红米无线耳机左边不响(红米无线耳机左耳连不上)

    红米无线耳机左边不响(红米无线耳机左耳连不上)

  • 电脑num键在哪(电脑上的num键有什么作用)

    电脑num键在哪(电脑上的num键有什么作用)

  • 闲鱼收到货与描述不符(闲鱼收到货与描述不符运费谁出)

    闲鱼收到货与描述不符(闲鱼收到货与描述不符运费谁出)

  • thinkpad键盘上的红点有什么用(thinkpad键盘上的小方框)

    thinkpad键盘上的红点有什么用(thinkpad键盘上的小方框)

  • vivo60倍变焦手机是哪款(vivox60倍变焦)

    vivo60倍变焦手机是哪款(vivox60倍变焦)

  • 淘宝不发货多久会自动取消订单(淘宝不发货多久会自动收货)

    淘宝不发货多久会自动取消订单(淘宝不发货多久会自动收货)

  • 微信卸载后记录会全部被清除吗(微信卸载后记录还能恢复吗)

    微信卸载后记录会全部被清除吗(微信卸载后记录还能恢复吗)

  • oppoa11x什么时候上市(oppoa11x什么时候出产的)

    oppoa11x什么时候上市(oppoa11x什么时候出产的)

  • 手机被提前激活违规吗(手机被提前激活怎么办)

    手机被提前激活违规吗(手机被提前激活怎么办)

  • 对方朋友圈背景是灰色的(微信被删除对方朋友圈背景)

    对方朋友圈背景是灰色的(微信被删除对方朋友圈背景)

  • 华为nova2是什么时候上市的(华为nova2是什么马达)

    华为nova2是什么时候上市的(华为nova2是什么马达)

  • plk一tl01h是什么型号(plk—tl01h)

    plk一tl01h是什么型号(plk—tl01h)

  • 国内微信在国外能用吗(国内微信在国外用,出现)

    国内微信在国外能用吗(国内微信在国外用,出现)

  • 盐城开发区属于哪个区(盐城开发区在哪个区)

    盐城开发区属于哪个区(盐城开发区在哪个区)

  • 荣耀9xpro怎么关闭拍照声(荣耀9x怎样关闭台后运行)

    荣耀9xpro怎么关闭拍照声(荣耀9x怎样关闭台后运行)

  • 全屏幕怎么设返回键(全面屏幕怎么返回)

    全屏幕怎么设返回键(全面屏幕怎么返回)

  • 脚注1加圆圈怎么打(脚注怎么把圆圈设置成方括号)

    脚注1加圆圈怎么打(脚注怎么把圆圈设置成方括号)

  • iphonex怎么设置软件锁(iphoneX怎么设置铃声自定义)

    iphonex怎么设置软件锁(iphoneX怎么设置铃声自定义)

  • 苹果xsmax韩版能双卡吗(苹果xsmax韩版支持双卡双待吗)

    苹果xsmax韩版能双卡吗(苹果xsmax韩版支持双卡双待吗)

  • vivo红外线怎么开启(vivo红外线怎么开)

    vivo红外线怎么开启(vivo红外线怎么开)

  • 怎么修改QQ空间发过的说说(怎么修改QQ空间可见范围)

    怎么修改QQ空间发过的说说(怎么修改QQ空间可见范围)

  • 小米8充满电要多久(小米8充满电多久)

    小米8充满电要多久(小米8充满电多久)

  • 手机黑屏但是有反应(手机黑屏但是有声音怎么办)

    手机黑屏但是有反应(手机黑屏但是有声音怎么办)

  • 圣克鲁斯岛的查尔斯达尔文研究站内从卵中孵化出来的平松岛龟,厄瓜多尔加拉帕戈斯群岛 (© Pete Oxford/Minden Pictures)(圣克鲁斯岛战役)

    圣克鲁斯岛的查尔斯达尔文研究站内从卵中孵化出来的平松岛龟,厄瓜多尔加拉帕戈斯群岛 (© Pete Oxford/Minden Pictures)(圣克鲁斯岛战役)

  • 房地产企业递延所得税资产计算方法
  • 投资性房地产发生减值迹象均要计提减值准备
  • 发票上的收款人负法律责任吗
  • 发票只能全部冲开吗
  • 预授权撤销怎么撤销
  • 私人车辆油费可以报销吗
  • 土地出让交增值税多少
  • 存货盘盈属于什么活动
  • 卖下脚料怎么做分录
  • 银行利息税是多少2021
  • 流动资产周转次数低说明什么
  • 建筑业发票可以在备注里加备注么
  • 闲置资金怎么说?
  • 工程发票包括哪些
  • 免税企业取得增值税专用发票怎么处理
  • 销售依据
  • 增值税抵扣凭证包括桥闸通行费发票
  • 房地产企业增值税预缴
  • 代扣代缴企业所得税账务处理
  • 小规模可以收专票当费用票吗
  • 促销活动赠品应如何账务处理
  • 公司按照实际利润额预缴企业所得税,这个实际利润额就是会计利润吗?
  • 独生子女补贴是给父母还是子女的
  • 商票背书需要对方开发票吗
  • 个人名义去税务局开票
  • 产品成本差异总额计算公式
  • 结汇汇兑损益账务处理
  • 建筑行业简易征收税率是5%吗?
  • 预提返利的会计处理
  • 公司购买进口产成品关税会计分录怎么做?
  • 网络共享每次都要输入密码
  • itunes无法链接
  • win10电脑和win7电脑怎么共享文件
  • 公司流水账是会计做吗
  • 营改增后一般纳税人税率
  • 资产负债表短期负债包括哪些
  • macbook无法调节音量
  • wordpress访问速度优化
  • rtmservice.exe - rtmservice是什么进程 有什么用
  • 短缺的材料算不算入账价值
  • 在建工程计提减值准备计入什么科目
  • 企业的组织形式共5种
  • 个人出租住房如何开增值税专用发票
  • 未实际发生的费用 可否申请赔偿
  • 现金日记账的填制要求
  • uniapp控制硬件设备
  • 结转应付职工薪酬会计科目
  • 侧边导航栏点击后再展开
  • 公司抽奖奖品怎么做账
  • 哪些收据可以入账且可以税前抵扣
  • 主营业务收入的t型账户怎么写
  • 企业所得税的特别纳税调整
  • 伙食费怎么入账
  • 税务局核定税种流程
  • 契税和印花税的会计分录
  • 房地产企业成本结转
  • 单位收到社保补贴会计怎样处理
  • 固定资产贷款利息计算器
  • 期间费用逐年上升说明什么
  • 纳税期限与缴库期限不符
  • 营业外支出的用法
  • 存货售出时可以冲减资产减值损失吗
  • 预付的展会费如何入账
  • 商业企业资产负债表
  • mysql 定点数和浮点数
  • 自增字段必须是主键吗
  • linux系统清理磁盘空间
  • ubuntu20.04忘记root密码
  • win7开机zyufs7
  • linux查看多线程
  • django 不同app间model引用
  • python 数据处理 pdf
  • jquery实现移动端
  • Unity小贴士 导出资源文件和简单加密方式
  • python3遍历字典
  • JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
  • 60后歌手有哪些
  • js拖拽排序实现思路
  • 城市维护建设税法自2021年10月1日起施行
  • 为什么有的企业在企查查上查不到
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设