首先,看官网:
http://wiki.ros.org/camera_calibration
核心就一个:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/my_camera/image camera:=/my_camera
看运行标定节点的参数,
两步走
第一,需要打印出格子图(棋盘图)
--size 8x6 是指长宽比例,--square 0.108 是格子边长大小,单位是米.
看来官方测试的标定图比较大,(9*0.108,7*0.108),大概1米X0.8米,有一个桌子桌面大小了.
这里有前人的经验
http://blog.csdn.net/ArtistA/article/details/51125560

第二,需要摄像头驱动节点,发布出来图像话题
image:=/my_camera/image camera:=/my_camera,因为这是标定需要的参数
做好摄像头驱动节点后,写个launch文件,运行命令.
启动无误,可以尝试缓慢移动标定板,(或摄像头).
为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:
如标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的。
直到CALIBRATE按钮变亮,点击该按钮就会进行标定。标定过程将持续一两分钟,并且标定界面会变成灰色,无法进行操作,耐心等待即可.
最后生成到/tmp/calibrationdata.tar.gz一个包,包内如下图.

详细请看这篇:
http://blog.csdn.net/heyijia0327/article/details/43538695
还有
http://blog.csdn.net/zyh821351004/article/details/46762295
http://blog.csdn.net/xu1129005165/article/details/52948992
易科的教材很不错
http://blog.exbot.net/archives/2669
http://wiki.ros.org/camera_calibration
核心就一个:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/my_camera/image camera:=/my_camera
看运行标定节点的参数,
两步走
第一,需要打印出格子图(棋盘图)
--size 8x6 是指长宽比例,--square 0.108 是格子边长大小,单位是米.
看来官方测试的标定图比较大,(9*0.108,7*0.108),大概1米X0.8米,有一个桌子桌面大小了.
这里有前人的经验
http://blog.csdn.net/ArtistA/article/details/51125560
其实自己实验可以打印到A4纸上.
贴个图
第二,需要摄像头驱动节点,发布出来图像话题
image:=/my_camera/image camera:=/my_camera,因为这是标定需要的参数
做好摄像头驱动节点后,写个launch文件,运行命令.
<launch>
<!--摄像头驱动-->
<node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
<param name="video_device" value="/dev/video0" />
<param name="image_width" value="640" />
<param name="image_height" value="480" />
<param name="pixel_format" value="yuyv" />
<param name="camera_frame_id" value="usb_cam" />
<param name="io_method" value="mmap"/>
<param name="camera_info_url" value="package://usb_cam/launch/calibration_webcam.yaml"/>
</node>
<!--查看摄像头原始图像-->
<node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen">
<remap from="image" to="/usb_cam/image_raw"/>
<param name="autosize" value="true" />
</node>
<!-- 标定 我A4打印出来尺子测量是28.7mm左右,改成自己的实际尺寸 -->
<node pkg="camera_calibration" type="cameracalibrator.py"
name="cameracalibrator" args="- -size 8x6 - -square 0.028778"
output="screen">
<!-- 要有摄像头驱动节点,发布出image话题 /usb_cam/image_raw -->
<remap from="image" to="/usb_cam/image_raw" />
<remap from="camera" to="usb_cam" />
</node>
</launch>启动无误,可以尝试缓慢移动标定板,(或摄像头).
为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:
如标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的。
直到CALIBRATE按钮变亮,点击该按钮就会进行标定。标定过程将持续一两分钟,并且标定界面会变成灰色,无法进行操作,耐心等待即可.
最后生成到/tmp/calibrationdata.tar.gz一个包,包内如下图.
详细请看这篇:
http://blog.csdn.net/heyijia0327/article/details/43538695
还有
http://blog.csdn.net/zyh821351004/article/details/46762295
http://blog.csdn.net/xu1129005165/article/details/52948992
易科的教材很不错
http://blog.exbot.net/archives/2669
版权声明:本文为qq_38288618原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。