Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9470885
  • 博文数量: 1751
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 20101
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1751)

文章存档

2024年(27)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: 其他平台

2020-05-17 19:58:54

https://blog.csdn.net/heyijia0327/article/details/43538695?locationNum=5&fps=1

ROS官方提供了用于单目或者双目标定的camera_calibration包。这个包是使用opencv里的张正友标定法,所以如果你有使用opencv标定的经验,可以直接标定,而不使用官方的程序。


        官方也给出了单目的标定教程和双目视觉的标定教程。本教程基于usb_cam  package 读取图像,然后使用官方例程进行标定。


1.使用usb_cam 读取图像,launch文件如下:





   
   
       
       
       
       
       
       
       
   


2.检查usb_cam package发布的消息:




$ rostopic list
看是否有如下消息,并记住名称
/usb_cam_node/camera_info
/usb_cam_node/image_raw
3.启动标定程序:


$ rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.03 image:=/usb_cam_node/image_raw camera:=/usb_cam_node
其中参数size 11x8 注意是字母x,他是棋盘内部角点个数,如下图所示。square为棋盘正方形边长,注意刚刚开始标定的时候,CALIBRATE按钮是灰色的。


                         


4.标定程序使用方法:


       为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:


       如标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的,。


       界面中的x:表示标定板在视野中的左右位置。


                     y:表示标定板在视野中的上下位置。


                size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。


                skew:标定板在视野中的倾斜位置。






并还要有棋盘占住大部分视野的图片,如下图所示:






       按着上述方式不断移动标定板,直到CALIBRATE按钮变亮,点击该按钮就会进行标定。标定过程将持续一两分钟,并且标定界面会变成灰色,无法进行操作,耐心等待即可。


       标定完成以后,你将看到如下图所示的窗口,窗口中的图像为标定后的结果,纠正了畸变。


                           


        并且,摄像机的各个参数会出现在标定程序的终端窗口中,如下:


                        


如果对标定结果满意,点击COMMIT按钮将结果保存到默认文件夹,在usb_cam窗口中可以看到如下信息,说明标定结果已经保存在相应文件夹下下次启动usb_cam节点时,会自动调用。



阅读(1922) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~