ROS下单目相机标定过程

ros标定相机参数的过程,Ubuntu 16.04 ,摄像头用的罗技C920

1、相机标定第一步,准备一张标定板,打印出来下载

标定板为8x6,我用A4纸打印出来为,用直尺量square边长为24.5mm(这个根据自己标定板的大小自己量,大点好),即0.0245m,作为标定输入参数。

2、打开相机
利用usb_cam驱动 ,参考ros.wiki.usb_cam


mkdir catkin_usbcam/src

git clone https://github.com/ros-perception/image_pipeline.git

cd   ../

catkin_make

source ./devel/setup.bash
roslaunch usb_cam usb_cam-test.launch

//launch文件里面默认设备为/dev/video0,我的外接USB摄像头是/dev/video1)

//如果你没有矫正过的话,你会发现打开相机时会有一条警告

             

因为相机启动时自动检查矫正文件,而你还没有!哈哈

3、打开矫正窗口

一般来说正常安装ros都是包含了camera_calibration,输入下面命令检查一下

 之后执行相机矫正py文件,从Damondback版本开始,ROS就支持使用多个标定板来进行标定了,如果你使用多个标定板进行标定,请输入复数个–size和–square参数来说明各个标定板的大小。

 rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0245 image:=/usb_cam/image_raw camera:=/usb_cam

应该弹出一个display的窗口如下:

 

 

如果没有的话检查你命令输入是否输入正确,例如:8x6,中间不能用 "*" ,是字母 "x",--size,--square前面是两个"-",还要注意你的相机发出的话题是不是usb_cam/image_raw

4、采集样本数据

为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的,离得近的远的都要有,最好保证所有的进度条都是绿色满格的 。

界面中的x:表示标定板在视野中的左右位置。

                y:表示标定板在视野中的上下位置。

                size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。

                skew:标定板在视野上下左右中的倾斜位置。

5、计算矫正参数

点击CALIBRATE按钮,稍等1-2分钟,可以在命令窗中看到标定参数,点击COMMIT将结果保存到电脑路径:/home/sun/.ros/camera_info/head_camera.yaml,再次启动相机时就不会有Camera Calibration文件找不到的警告了。

只需加载校准文件不会纠正图像。 为了矫正图像,请使用image_proc包。

如果没有自动载入矫正文件 ,那么就需要调用下image_proc这个包。两种解决方案1.在启动usb_cam的launch文件下面再加上<node name="image_proc" pkg="image_proc" type="image_proc" ns="usb_cam"/>。2.或者启动usb_cam后,在终端命令窗口加上ROS_NAMESPACE=usb_cam rosrun image_proc image_proc。 来源于参考链接评论!

 

参考:

1.https://blog.csdn.net/qq_30460905/article/details/80390576  
2. http://wiki.ros.org/camera_calibration

3.https://blog.csdn.net/heyijia0327/article/details/43538695

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值