【ROS】usb |
您所在的位置:网站首页 › usb摄像头能调远近吗 › 【ROS】usb |
1. 唠叨两句
当我们要用相机做测量用途时,就需要做相机标定了,不然得到的计算结果会有很大误差,标定的内容包括三部分:内参,外参还有畸变参数。所以标定的过程就是要求得上面这些参数。 以前弄这个事估计挺麻烦,需要做实验和计算才能得到,现在通过ros的开源包几分钟就能完成相机标定,感激! 具体的内外参和畸变系数的说明,可以看看Reference里面的第一个链接,写得很详细。 2. 准备工作要准备三样东西: usb_cam的ROS启动包相机标定的ROS包还有一个用于标定的棋盘格1)usb_cam启动包 使用我上传的usb_cam版本,不知道为什么用GitHub下载的版本不行,这个usb_cam版本也是别人发的,很奇怪,之后有时间可以研究一下,看看有什么不同,它们两个包都可以打开摄像头,就是用GitHub的版本打开后,apriltag_ros不输出正确的数值。下载点这里 下载解压后,放到对应的work space中src文件里面,例如catkin_ws 然后用catkin_make编译 然后用ls /dev/video*看看usb摄像头的编号,如果 will@will-Dell-G15-5511:~/omni_ws$ ls /dev/video* /dev/video0 /dev/video1 /dev/video2 /dev/video3我的笔记本上有webcam又连了一个外接的摄像头,实际是两个摄像头有四个编号,其实只用0和2就行,分别对应webcam和usb cam,其他两个用不了,然后修改 usb_cam/launch/usb_cam-test.launch 主要就是修改里面的 这一项就行,默认是0,改成/dev/video2就行 然后启动roslaunch usb_cam usb_cam-test.launch 有图像出来就成功了。 2)ROS的相机标定包 很方便,直接apt-get就能下载使用: sudo apt-get install ros-melodic-camera-calibration 3)打印棋盘格 可以到Google或Baidu上搜一个,像下面这样的 先启动相机,再启动标定程序 roslaunch usb_cam usb_cam-test.launch rosrun camera_calibration cameracalibrator.py --size 4x6 --square 0.026 image:=/usb_cam/image_raw camera:=/usb_cam 上面第二条指令就是启动标定程序的,里面需要输入棋盘的size和square对应的就是上面提到的两个数值 然后就会看到如下的界面: 打开程序后,就可以开始调整标定板的位置,让它在相机视野中各个位置移动和转动,让X Y Size和Skew这四个值下面的长条变成绿色,然后就可以看到CALIBRATE这个按钮变成青色,点击就会开始计算相机的参数,这个过程需要等一会,耐心等待
然后就是最后一步了,打开launch文件,加多一行导入相机参数: 之后照常用roslaunch启动usb cam就可以了,然后可以对比一下标定前后的测量结果,会发现精度有了很大提升。 Reference Step1:模型 16个相机参数(内参、外参、畸变参数): https://blog.csdn.net/weixin_43206570/article/details/84797361 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |