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

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

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添加即可)

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

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

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值