前言:由于摄像图内部与外部的原因,生成的图像往往会发生畸变,为了避免数据源造成的误差,需要针对摄像头的参数进行标定。
ros官方提供了camera_calibration软件包进行摄像头标定。
一、安装camera_calibration功能包
sudo apt-get install ros-kinetic-camera-calibration
二、制作标定板
可以百度“标定板”,用A4纸打印出一张8x6的棋盘即可。
三、启动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-