前言:由于摄像图内部与外部的原因,生成的图像往往会发生畸变,为了避免数据源造成的误差,需要针对摄像头的参数进行标定。

ros官方提供了camera_calibration软件包进行摄像头标定。

一、安装camera_calibration功能包

sudo apt-get install ros-kinetic-camera-calibration

二、制作标定板

可以百度“标定板”,用A4纸打印出一张8x6的棋盘即可。

ROS-单目摄像头标定-LMLPHP

三、启动USB摄像头

roslaunch robot_vision usb_cam.launch

四、启动标定程序

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

-------------------------------------

其中:

size:表格数量

square:棋盘边长,单位是米

image和camera:设置摄像头发布的图像话题

五、标定

标定程序启动后,将标定板放置在摄像头视野范围内.

标定成功前,右边的按钮是灰色的,

界面右上角会提示标定进度:

x:标定板在视野内左右移动

y:标定板在视野内上下移动

size:标定板在视野内前后移动

skew标定板在视野内倾斜转动

当"calibrate"可以点击的时候,点击它,等待一段时间,终端会出现提示结果.

点击"SAVE"保存到默认路径下.

点击"commit"提交.

打开/tmp文件夹,可以看到calibrationdata.tar.gz,解压后复制出ost.yaml,重命名就可以使用了.

-END-

05-27 13:29