码迷,mamicode.com
首页 > 其他好文 > 详细

ROS 摄像头矫正 camera_calibration

时间:2015-04-02 15:12:21      阅读:952      评论:0      收藏:0      [点我收藏+]

标签:

1.首先回顾摄像头Package 安装教程

我安装的是uvc_camera. 由于对ROS不熟悉,目前只知道cd到/opt/ros/hydro/share目录下,将uvc_camera 的package 下载下来

i.e: git clone https://github.com/ktossell/camera_umd.git 具体见另外一篇教程

采用$rosrun uvc_camera uvc_camera_node 即可打开摄像头,

采用$rostopic list & rosservice list ,分别查看发布的消息和服务

2.重新映射service,这个先介绍一下问题,在后面会重点分析

http://wiki.ros.org/Remapping%20Arguments  什么是重新映射remap

http://answers.ros.org/question/195217/ros-hydro-cannot-commit-gscam-camera-calibration-set_camera_info-not-under-camera/        //问题提出:发布的消息和矫正包订阅的名称不匹配

http://question1973.rssing.com/chan-34075800/all_p2.html    //  矫正过程的其他问题汇总

http://question1973.rssing.com/browser.php?indx=34075800&item=33    //如何重新映射remap 问题解决方案

3.camera_calibration 包的使用(http://wiki.ros.org/camera_calibration)

教程http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration

  a)得到依赖项,编译驱动

$ rosdep install camera_calibration
$ rosmake camera_calibration

  b)按照前面的教程开启摄像头,$rosrun uvc_camera uvc_camera_node,检查topic和service,需要注意

topic:   /image_raw而非/camera/image_raw

  c)运行calibration 节点

$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/camera/image_raw camera:=/camera

     (  需要我们注意的是,红线标出的命令需要我们改为uvc_camera 发布的topic和service,改service的时候出了很多问题(详见2.重新映射service),这里只介绍解决方法:用如下命令重新开启摄像头:$  rosrun uvc_camer uvc_camera_node set_camera_info:=/camera/set_camera_info   )

    (  需要根据自己的板子的实际方格的大小设置 参数 8*6 和 0.108)


矫正窗口打开(在这里借用人家的窗口)

技术分享


技术分享

调整矫正板

矫正板在视野的上下左右位置

X 轴:视野左右

Y 轴:视野上下

Size 条:前后 和倾斜

矫正板充满整个视野

矫正板倾斜着处于上下左右的位置

每一步都要保证矫正板在视野内被点亮

技术分享

当你移动矫正板,你可以看到X轴等的变化,当CALIBRATE按钮亮起时,表示有足够数据用于矫正,点此按钮看下矫正效果

技术分享

矫正结果会在中端和上图中显示

评价标准:

连续成功的校准将导致实际校正图像边缘连续出现。

校准失败通常会导致空白或未被承认的图像,不保持直线边缘的图像。

矫正成功后,点comment生成.yml文件


ROS 摄像头矫正 camera_calibration

标签:

原文地址:http://blog.csdn.net/junshen1314/article/details/44831033

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!