ROS+opencv实践-USB单目相机实现标定

Posted 殇堼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS+opencv实践-USB单目相机实现标定相关的知识,希望对你有一定的参考价值。

摄像头为什么要标定?

摄像头这种精密仪器对光学器件的要求较高,由于摄像头内部与外部的一些原因,生成的物体图像往往会发生畸变,为避免数据源造成的误差,需要针对摄像头的参数进行标定。

安装标定的功能包

sudo apt-get install ros-melodic-calibration

标定流程

1.启动摄像头

roslaunch robot_vision usb_cam.launch

2.启动标定包

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

命令说明:
1.8x6指的是:棋盘格标定靶上横向8个以及纵向6个的内部角点。
2.square 0.024指的是:棋盘格上每个格子的边长为0.024米
3.image和camera指的是:摄像头发布的话题。



相机对着标定靶对角点的进行定位:标定靶在视野范围内通过左右上下前后移动和旋转,参数对应关系如下:

1.X:左右移动
2.Y:上下移动
3.Size:前后移动
4.Skew:旋转

使右边的进度条变为绿色,calibrate按钮变为深绿色后,点击该按钮,此时由于正在计算标定参数会导致界面卡顿一会时间,直至卡顿消失,说明标定结束,点击save将标定数据保存起来。





找到这个生成的压缩文件后,解压缩打开,包含了之前标定的一系列图像和两个文件,其中yaml才是我们最终需要的输出文件。

打开yaml文件后,里面显示相机拍摄图像的尺寸以及相机名称。

以上是关于ROS+opencv实践-USB单目相机实现标定的主要内容,如果未能解决你的问题,请参考以下文章

ros学习-课设-人脸识别追踪

MatLab和OpenCV共同实现单目相机标定实验--附标定图片

opencv学习-实战篇-ROS18.04+Opencv-相机标定+物体识别(持续更新)

基于OpenCV单目相机的快速标定--源码工程实现过程

opencv 单目相机pnp测距(Cpp)

opencv实践-ROS+opencv打开USB相机做边缘检测