深度相机标定

1 准备工作

首先,请下载标定板。教程中使用的是8X6,边长为108mm的棋盘标定板。由于标定过程使用的是棋盘内部的角点进行,所以实际上我们使用的是9格X7格的棋盘标定板 。
请确保标定环境拥有一个5m×5m的无遮挡环境。

2 编译

运行以下指令

$ rosdep install camera_calibration

3 订阅摄像头信息

运行 roslaunch openni2_launch openni2.launch

使用

$ rostopic list

来查阅当前发布的topic信息,请确认topic的列表中存在

/camera/camera_info

/camera/image_raw

如果不存在,请检查你的摄像头驱动是否正确安装。

4 开始标定

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

来运行标定结点的python脚本,其中 –size 8x6 为当前标定板的大小 –square 0.108为每个棋盘格的边长 根据标定板的不同,可以按照需求更改这两个参数 image:=/camera/rgb/image_raw标定当前订阅图像来源自名为/camera/rgb/image_raw的topic camera:=/camera为摄像机名出现。

深度相机标定

接着不断移动标定板,直到CALIBRATE按钮变亮,点击该按钮就会进行标定。标定过程将持续一两分钟,并且标定界面会变成灰色,无法进行操作,耐心等待即可。并且,摄像机的各个参数会出现在标定程序的终端窗口中,如下:

深度相机标定