标签:
三 , ROS 环境下 如何进行相机标定
首先对ROS有一定的基础了,其中会牵扯到很多的其他方面的东西比如如何查看节点之间的流程图 rosrun rqt_graph rqt_graph
如何查看我们运行的节点 rosnode list 查看运行的话题 rostopic list 或者rostopic list -v 查看每个节点的性质
那么我认为首先需要学习的是 wiki.ros.org/cv_bridge/Tutorials/UsingCvBridgeToConvertBetweenROSImagesAndOpenCVImages
对就是cv_bridge 这个程序包是连接ROS和Opencv的程序,
紧接着可以学习 wiki.ros.org/image_common?distro=indigo 这个就是就是教你如何去订阅和发布图像或者视频的话题等问题
那么其中功能最多的就是 wiki.ros.org/image_pipeline?distro=indigo 这个程序包里面就有我们想要的相机标定的程序以及方法
同时最重要的是 我们要驱动我们的摄像头安装包就在于 wiki.ros.org/image_pipeline?distro=indigo 这里我用的是USB 的就可以对应下载该程序包然后
catkin_make一下就可以驱动摄像头,可以看到原始图像
顺利的启动摄像头就可以学习如何去标定相机了
因为就是用别人的代码也没什么改动,所以直接下载上面几个网页所提及的程序包,然后catkin_make
一般都不会有什么错误出现 $ roscore
$ roslaunch usb_cam usb_cam-test.launch (可以在.launch文件里修改要用的摄像头,比如笔记本的摄像头是/dev/video0,外接USB摄像头是/dev/video1)
$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.035 image:=/usb_cam/image_raw camera:=/usb_cam
(这里的标定模板我是用A3纸张打印出来,为8*6 35mm的标定棋盘)
所以 参数要改为与实际标定模板一致的数据 --size 8x6 --square 0.035
image:=/usb_cam/image_raw camera:=/usb_cam 就是要对应USB 摄像头的原始的节点和话题(我就刚开始没有对上号)
我们可以使用 rosrun rqt_graph rqt_graph 来查看是否calibraton节点是否已经订阅成功如图:(倘若cameracalibrator与usb_cam没有订阅成功,就需要使用
rostopic list -v 查看话题)
运行的结果 如图
直到采集了50个采样点 左边的CALIBRATE变为绿色 就可以点击开始标定,结束后会将标定结果打印到命令窗口:
相机标定 matlab opencv ROS三种方法标定步骤(3)
标签:
原文地址:http://www.cnblogs.com/li-yao7758258/p/5933651.html