登龙
这是我的第 111 篇原创
今天在家总结了下标定 ZED 相机的步骤,方便开学后直接开整。
# rosdep 用来安装指定包的依赖项
rosdep install camera_calibration
# 编译 ROS 标定工具
rosmake camera_calibration
确保双目相机图片主题已经发布到 ROS 中,使用下面的命令查看:
rostopic list
查看是否有 ZED 的 left 和 right 的 image_raw 主题:
/my_stereo/left/camera_info
/my_stereo/left/image_raw
/my_stereo/right/camera_info
/my_stereo/right/image_raw
/my_stereo_both/parameter_descriptions
/my_stereo_both/parameter_updates
/my_stereo_l/parameter_descriptions
/my_stereo_l/parameter_updates
/my_stereo_r/parameter_descriptions
键入启动指令运行 Python 标定脚本,添加标定板和图像主题参数:
rosrun camera_calibration cameracalibrator.py --approximate 0.1 --size 8x6 --square 0.108 right:=/my_stereo/right/image_raw left:=/my_stereo/left/image_raw right_camera:=/my_stereo/right left_camera:=/my_stereo/left
参数解释如下:
启动界面如下,把棋盘格放到相机视野中,标定过程中 X,Y,Size 会不断变化:
确保手拿着标定板长的这一边,不要拿反了:
为了得到好的标定结果,需要在相机视野里面移动标定板,标定板位置如下:
一些标定画面如下:
当你移动标定板使得标定程序有了足够的数据计算标定矩阵时,程序中的标定按钮「CALIBRATE」就会变亮,然后点击即可生成标定结果:
侧边栏会出现标定精度和尺寸:
在终端会生成左右图像的标定矩阵,这里截取左右相机的内参矩阵 K 和畸变矩阵 distortion:
Left:
K = [425.19601412158482, 0.0, 308.29689772295882, 0.0, 426.02702697756899, 223.53789948448997, 0.0, 0.0, 1.0]
Right:
K = [425.18741896821433, 0.0, 323.8787136811938, 0.0, 426.46867413824884, 226.19589833365407, 0.0, 0.0, 1.0]
[narrow_stereo/left]
distortion
-0.314202 0.091935 0.001295 -0.001620 0.0000
[narrow_stereo/right]
distortion
-0.305505 0.082701 0.001967 -0.001641 0.0000
然后点击侧边栏的「SAVE」按钮保存标定结果到 /tmp/calibrationdata.tar.gz
,至此双目相机内参标定完成!
厦大研一工科男,与你分享编程,AI 算法等技术干货!精品文章创作不易,谢谢关注,欢迎在看。
点击