本教程所使用标定工具为一个9x7的棋盘格,单格尺寸123mm。
1. 内参标定
1.1 借助ROS中的usb_cam功能包,具体实现如下:
- 安装usb_cam功能包
$ sudo apt-get install ros-kinetic-usb-cam - 安装标定功能包
$ sudo apt-get install ros-kinetic-camera-calibration - 启动摄像头
$ roslaunch usb_cam usb_cam-test.launch - 启动标定包
$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.123 image:=/usb_cam/image_raw camera:=/usb_cam
注:8x6为棋盘格的角点个数,0.123为单格尺寸(单位m) - 标定程序启动后会看到一个可视化界面,右上角的x, y, size, skew下面的进度条代表的着该方向/尺度/角度下的样本数量;
- 不断移动标定板,当样本数量满足标定要求后,下方的calibrate会变成绿色;
- 点击calibrate,系统会卡住一段时间,计算完成后,下方的save会变成绿色;
- 点击save,标定结果会储存到计算机下的tmp文件夹中。
1.2 使用matlab中的camera calibrator工具
2. 外参标定
一般来说,外参都是相对另一参考系而