网上大多数教程都是按官网套路:
camera_calibration包:http://wiki.ros.org/camera_calibration
单目标定教程:http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration
http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration
参考:https://blog.csdn.net/qq_30460905/article/details/80390576
要求:
- 一个正方形的8x6棋盘(校准使用棋盘格的内部顶点)。
- 单目相机在光线充足的5米×5米区域内清除障碍物并确保板上的图案都在相机内
第一步:
输入以下指令,获取依赖项并编译驱动程序:
一般情况下,正确安装Ros的都会自带这个依赖包,显示
安装驱动:
$ cd ~/catkin_ws/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam.git
$ cd ..
$ catkin_make
打开摄像头
$ roslaunch usb_cam usb_cam-test.launch
注意:此时打开另一个命令行启动Ros管理项
$ roscore
第二步:
打开另一个命令行,输入
rostopic list
可以查看话题发布信息:
打开摄像头后,一定要在另一个命令行输入上面这条指令,因为打开了摄像头相当于发布一个新话题,相机标定可以参与到这个话题中,这就是ros
的神奇所在!
确保发现这两条信息后
输入设置标定指令:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.028 image:=/usb_cam/image_raw camera:=/usb_cam
image:=/camera/image_raw
与上面的显示保持一致性
如果打不开,后面加上--no-service-check
输入:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.028 image:=/camera/image_raw camera:=/camera --no-service-check
打开界面需要三个命令行窗口!! 我一直打不开的原因就是这个,没有弄清楚ROS的工作原理,还是要好好学习!,下面是三个窗口:一个是启动ros管理项,一个是打开相机,一个是启动标定程序
第三步
移动棋盘:
译文:
- 棋盘格上的相机的左,右,顶部和底部的视野
- X条-视野中的左/右
- Y条-视野的顶部/底部
- 大小栏-向/向外倾斜,并从相机棋盘格填充整个视野棋盘格向左、右、上和下倾斜(倾斜)
盗一张官方图:
当校准按钮点亮时,说明有足够的数据进行校准,可以单击校准按钮查看结果。窗口显示是灰色的,不影响标定。
CALIBRATE
点亮时,点击保存,需要等待1~2分钟,结果会显示在命令行窗口,再点击COMMIT
保存并关闭,保存路径显示在命令行中。