当前位置:   article > 正文

学习笔记:利用usb_cam进行单目标定与畸变矫正(笔记本摄像头 or usb相机)

usb_cam

一个刚入门视觉的学习笔记,怕哪天系统崩了找不回笔记了,故上传到博客方便保留。

1、准备工作(安装usb_cam)

1)创建文件夹

  1. mkditr usb
  2. cd usb
  3. mkdir src

2)下载编译安装usb_cam包(该包能将摄像头的图像通过sensor_msgs::Image消息发布)

  1. cd ros_calibration/src
  2. git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
  3. sudo apt install ros-melodic-usb-\cam*
  4. cd ..
  5. catkin_make

 

 2、可以通过ls/dev/video*来查看电脑的设备号来选择外接或笔记本摄像头

1)查看到的设备号可以改动文件里的.launch文件中的video0来更换笔记本摄像头或者usb相机来标定(我这里改成usb相机)

3、进行标定

  1. cd usb
  2. source ./devel/setup.bash
  3. roslaunch usb_cam usb_cam-test.launc

1)再打开一个终端运行下面的标定程序(程序中跑动的是包中的标定的py程序)  注:size为网格数,square为网格大小,image为发布的图像话题,camera为相机名

rosrun camera_calibration cameracalibrator.py --size 9x6 --square 0.025 image:=/usb_cam/image_raw camera:=/usb_cam

 然后就移动标定板完成标定(X为水平移动,Y为上下平移,size拉远拉近标定板,Skew通过旋转标定板来积累)

 标定完成后点击CALIBRATE就会给出相机获取到的内参外参,然后点击SAVE保存就把相机获得的内参保存到tmp(这个文件夹在计算机里)里面,然后再打开里面的.yaml文档

 

 这样就能获得相机标定到的参数。(我们可以通过修改上面的k1,k2,k3,p1,p2五个参数来调试相机)

4、畸变矫正

1)将.yaml文件保存到一个位置(我这里保存到home目录下)

 2)将.yaml文档路径保存到usb_cam的launch文件中

gedit usb/src/usb_cam/launch/usb_cam-test.launch 

3)将下面这句补到launch文档的launch行下面(下面语句需要修改.yaml文档的路径)注:下面语句$(find usb_cam)要改成ost.yaml的路径,比如我这里路径为home/lyh/

<param name="camera_info_url" type="string" value="file://$(find usb_cam)/ost.yaml"/>

如下图所示:

保存退出即可 ;

4)运行

  1. cd usb
  2. source ./devel/setup.bash
  3. roslaunch usb_cam usb_cam-test.launch

再打开一个终端:

ROS_NAMESPACE=usb_cam rosrun image_proc image_proc

再打开一个终端:

rviz

5)按Add加入已经矫正的image图像话题(选中image_rect添加即可)

 加入后就是矫正后的图像了

 这是一个新手的初学笔记,欢迎指正。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/263142
推荐阅读
相关标签
  

闽ICP备14008679号