在ROS环境下对笔记本自带的摄像头(单目)进行标定
来源:互联网 发布:淘宝淘口令怎么编辑 编辑:程序博客网 时间:2024/04/29 16:35
ROS官方提供了用于单目或者双目标定的camera_calibration包。这个包是使用OpenCV里的张正友标定法,所以如果你有使用opencv标定的经验,可以直接标定,而不使用官方的程序。
官方也给出了单目的标定教程和双目视觉的标定教程。本教程基于usb_cam package 读取图像,然后使用官方例程进行标定。
注意:前提是已经安装好usb_cam驱动。(具体安装说明见:http://blog.csdn.net/zhuquan945/article/details/73167474)
1.使用usb_cam 读取图像,launch文件(usb_cam-test.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"/> </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></launch>
copy
打开一个终端,运行:
$ roscore
打开另一个终端,运行:
$ roslaunch usb_cam usb_cam-test.launch打开笔记本摄像头。
2.检查usb_cam package发布的消息:
看是否有如下消息,并记住名称/usb_cam/camera_info/usb_cam/image_raw
3.启动标定程序:
$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/usb_cam/image_raw camera:=/usb_cam
view p其中参数size 8x6 注意:中间是字母x,他是棋盘内部角点个数,如下图所示。square为棋盘正方形边长,注意:刚刚开始标定的时候,CALIBRATE按钮是灰色的。
4.标定程序使用方法:
为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:
如标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的,。
界面中的x:表示标定板在视野中的左右位置。
y:表示标定板在视野中的上下位置。
size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。
skew:标定板在视野中的倾斜位置。
并还要有棋盘占住大部分视野的图片,如下图所示:
按着上述方式不断移动标定板,直到CALIBRATE按钮变亮,点击该按钮就会进行标定。标定过程将持续一两分钟,并且标定界面会变成灰色,无法进行操作,耐心等待即可。
标定完成以后,你将看到如下图所示的窗口,窗口中的图像为标定后的结果,纠正了畸变。
并且,摄像机的各个参数会出现在标定程序的终端窗口中,如下:
如果对标定结果满意,点击COMMIT按钮将结果保存到默认文件夹,在usb_cam窗口中可以看到如下信息,说明标定结果已经保存在相应文件夹下下次启动usb_cam节点时,会自动调用。
reference:
1.ROS官方:单目标定
- 在ROS环境下对笔记本自带的摄像头(单目)进行标定
- OPENCV3.0 单目摄像头标定(使用官方自带的标定图片)
- OPENCV3.0 单目摄像头标定(使用官方自带的标定图片)
- OPENCV3.0 单目摄像头标定(使用官方自带的标定图片)
- OPENCV3.0 单目摄像头标定(使用官方自带的标定图片)
- ROS使用笔记本自带USB摄像头运行pi_face_tracker,进行人脸识别
- ROS使用笔记本自带USB摄像头运行pi_face_tracker,进行人脸识别
- 在linux下配置好opencv后,测试笔记本自带的摄像头
- Ubuntu下关闭笔记本自带摄像头
- ros 下面使用单目标定工具箱来进行标定摄像头.
- ros打开笔记本摄像头,单目标定
- kinect 2.0 SDK学习笔记(七)--matlab自带相机标定程序对kinect进行简单标定
- Ubuntu下对ROS进行开发的eclipse环境
- 【OpenCV】单目摄像头标定
- OpenCV单目摄像头标定
- opencv 单目相机标定 自带例子程序的使用
- ORB SLAM2 ROS单目摄像头环境搭建
- 使用Halcon对摄像机进行标定(单目)
- IntelliJ IDEA 快捷键大全
- Eclipse创建git仓库
- 第一个程序“Hello World !”
- 51Nod 扔盘子
- 数据输入输出与异常处理的两张图
- 在ROS环境下对笔记本自带的摄像头(单目)进行标定
- shell 遍历文件夹
- 动态获取页面大小,根据大小给html设置字体大小
- 3(1)、uboot的链接脚本u-boot.lds
- 节点
- spring异常处理
- Android Design Support Library的代码实验
- Android7.0中文文档(API)--- AdapterViewAnimator
- Android6.0动态申请SD卡读写的权限