一个刚入门视觉的学习笔记,怕哪天系统崩了找不回笔记了,故上传到博客方便保留。
1、准备工作(安装usb_cam)
1)创建文件夹
mkditr usb
cd usb
mkdir src
2)下载编译安装usb_cam包(该包能将摄像头的图像通过sensor_msgs::Image消息发布)
cd ros_calibration/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
sudo apt install ros-melodic-usb-\cam*
cd ..
catkin_make
2、可以通过ls/dev/video*来查看电脑的设备号来选择外接或笔记本摄像头
1)查看到的设备号可以改动文件里的.launch文件中的video0来更换笔记本摄像头或者usb相机来标定(我这里改成usb相机)
3、进行标定
cd usb
source ./devel/setup.bash
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)运行
cd usb
source ./devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
再打开一个终端:
ROS_NAMESPACE=usb_cam rosrun image_proc image_proc
再打开一个终端:
rviz
5)按Add加入已经矫正的image图像话题(选中image_rect添加即可)
加入后就是矫正后的图像了文章来源:https://www.toymoban.com/news/detail-730530.html
这是一个新手的初学笔记,欢迎指正。文章来源地址https://www.toymoban.com/news/detail-730530.html
到了这里,关于学习笔记:利用usb_cam进行单目标定与畸变矫正(笔记本摄像头 or usb相机)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!