【ROS+OpenCV实践】USB单目相机实现标定

40 篇文章 49 订阅

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处


在这里插入图片描述

一、摄像头为什么要标定?

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

二、安装标定的功能包

sudo apt-get install ros-melodic-calibration

sudo apt-get install ros-melodic-calibration 是一个安装 ROS Melodic 版本的 calibration 包的命令。请确保您已经正确配置了 ROS Melodic 的软件源。

这个命令将使用 apt 包管理器从 ROS 的软件源中安装 calibration 包及其依赖项。在安装之前,您需要确保已经正确安装配置了 ROS Melodic。

三、标定流程

1.启动摄像头

roslaunch robot_vision usb_cam.launch

2.启动标定包

rosrun camera_calibration cameracalibrator.py 是一个在ROS中运行相机标定工具的命令。这个命令将运行 cameracalibrator.py 脚本,该脚本属于 camera_calibration 包,用于进行相机标定。

在运行该命令之前,请确保已经正确安装了 camera_calibration 包,并启动了 ROS 环境。

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文件后,里面显示相机拍摄图像的尺寸以及相机名称。

在这里插入图片描述

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ROS2是一个开源的机器人操作系统,其中包含了许多用于机器人应用开发的功能库和工具。而相机标定是在机器人视觉应用中非常重要的一步,可以帮助我们得到相机的内参和外参等参数,从而对图像进行更加准确的处理和分析。下面是ROS2相机标定的教程: 1. 首先需要安装ROS2,可以参考ROS2官方网站进行安装。 2. 安装相机驱动程序,例如USB相机可以使用UVC Camera驱动程序,可以通过以下命令进行安装: ``` sudo apt-get install ros-<distro>-uvc-camera ``` 其中`<distro>`为ROS2的版本号。 3. 安装相机标定工具包,可以使用以下命令进行安装: ``` sudo apt-get install ros-<distro>-camera-calibration ``` 4. 打开终端并输入以下命令,启动相机: ``` ros2 run uvc_camera camera_node ``` 5. 接下来需要收集标定所需的数据。可以通过运行以下命令启动图像采集节点: ``` ros2 run image_tools cam2image ``` 6. 在运行节点之后,会自动保存一些图像文件。需要尽可能地采集不同的角度、距离和姿态的图像,以便后续标定的准确性。 7. 完成图像采集后,运行以下命令进行标定: ``` ros2 run camera_calibration cameracalibrator --ros-args -p camera:=/camera -p image:=/image_raw ``` 其中`/camera`和`/image_raw`分别为相机和图像采集节点的话题名称。执行该命令后,会自动打开一个图形界面,显示采集到的图像。按照指导完成标定即可。 8. 标定完成后,可以通过以下命令查看标定结果: ``` ros2 run camera_calibration cameracheck.py ``` 以上就是ROS2相机标定的教程,希望能够帮助到你。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值