相机的标定camera-calibration

一、相机的标定

1.1 相机包usb_cam

usb_cam功能包主要用于获取USB摄像头的图像数据,发布图像数据为ROS的标准消息类型sensor_msgs/Image,rostopic名称为 /usb_cam/image_raw

1.1.1 安装

usb_cam安装代码如下:

sudo apt-get install ros-noetic-usb-cam

tips:sudo apt-get install安装的包将会被安装到 /opt/ros/noetic/share 路径下

1.1.2 参数设置

在 /opt/ros/noetic/share/usb_cam/launch 文件中将会保存相机的相关参数:

用于指定发布的摄像头设备,笔记本自带摄像头默认为/dev/video0     这两个参数用于设置图像的分辨率

可以用ls指令查看摄像头的设备名称:

ls /dev/video*

1.1.3 使用

在主目录下的.bashrc文件中添加 source /opt/ros/noetic/setup.bash(因为usb_cam包被安装在/opt/ros/noetic/share路径下)

bash执行

roslaunch usb_cam usb_cam-test.launch

报错:cannot launch node of type [image_view/image_view]: image_view

原因:缺少image_view包

解决方法:

sudo apt-get install ros-noetic-image-view

1.2 标定包camera-calibration

1.2.1 安装

sudo apt-get install ros-noetic-camera-calibration

1.2.2 打开摄像头开始标定

  1. 准备棋盘格

摄像机的校准是以一个由黑白方块组成的棋盘为基准进行的,8×6的棋盘可在以下网站下载:

https://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration?action=AttachFile&do=view&target=check-108.pdf

棋盘打印出来如下图所示。8x6棋盘横向有9个方块,所以有8个交叉点,而竖向有7个方块,有6个交叉点,所以它被称为8x6棋盘。

  1. 运行程序
roslaunch usb_cam usb_cam-test.launch #启动摄像头 
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam
  • 第二条代码参数说明:

size:棋盘内交叉点的个数,行*列

square:一个格子的边长,单位是m

image:订阅摄像头发布的图像话题(rostopic)

camera:寻找相应的设备相机名

  1. 开始标定

在没有标定成功前,右边的按钮都为灰色,不能点击。为了提高标定的准确性,应该尽量让标定靶出现在摄像头视野范围内的各个区域,界面右上角的进度条会提示标定进度。上/下/左/右移动摄像头,等各个方向绿条满了之后,数据采集完成。

1)X:标定靶在摄像头视野中的左右移动。

2)Y:标定靶在摄像头视野中的上下移动。

3)Size:标定靶在摄像头视野中的前后移动。

4)Skew:标定靶在摄像头视野中的倾斜转动。

  1. 各个方向绿条满了之后,CALIBRATE会有颜色,点击它。
  2. 然后点击save,点击save 后,标定文件会自动保存在/tmp路径下,文件名为 calibrationdata.tar.gz 压缩包,解压缩该压缩包,可以看到相机标定数据被保存在ost.yaml文件中

  1. 再点击COMMIT,这时会自动保存标定文件,新标定的参数会自动更新主目录下 .ros/camera_info/head_camera.yaml文件中。从下图可以看到 head_camera.yaml 的内容与最新标定产生的 ost.yaml 的内容一致

至此完成相机的标定。

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
相机标定工具gml camera calibration是一种计算机视觉领域的工具,用于对相机进行标定,以提高图像处理和计算机视觉任务的精度和准确性。 相机标定是指通过测量相机的内部和外部参数,包括焦距、畸变等,用数学模型来描述相机的成像特性和几何关系的过程。相机标定是进行三维重建、图像匹配、姿态估计等计算机视觉任务的前提。 gml camera calibration是一种相机标定工具,它能够自动提取相机的内部和外部参数,并且能够校正图像的畸变。通过使用gml camera calibration,我们可以获得更准确和稳定的相机参数,从而提高图像处理和计算机视觉任务的质量。 使用gml camera calibration进行相机标定的过程一般包括以下几个步骤:首先,需要收集一组已知的二维图像点和对应的三维世界坐标点作为标定数据。然后,通过对这组数据进行处理,可以得到相机的内部参数,如焦距、主点和径向畸变系数。最后,利用得到的内部参数和其他几何信息,可以计算得到相机的外部参数,包括相机的位置和姿态。 相机标定是计算机视觉领域中非常重要的一个技术,它对于提高图像处理和计算机视觉任务的准确性和可靠性具有重要意义。gml camera calibration作为一种相机标定工具,提供了自动化的标定方法和算法,可以极大地简化了相机标定的过程,并且能够获得更准确和可靠的相机参数,从而提高计算机视觉任务的成果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值