ros学习之camera calibration 单目摄像头标定

本文档详细介绍了在Ubuntu 16.04和ROS Kinetic环境下,如何进行单目摄像头的标定过程。首先,需要准备标定图和USB摄像头驱动。然后,下载并编译camera calibration包。接着,启动摄像头驱动和标定程序,调整参数,如棋盘格大小和内角点数。通过在不同角度和位置移动标定图收集数据,当满足条件后点击CALIBRATE进行校准。最后,保存并上传结果,重启摄像头,完成标定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:ubuntu16.04 ros版本 kinetic
标定笔记本单目摄像头
需要的准备:1、标定图:下面这张打印到a4纸上。

标定图
2、摄像机驱动,我使用的是usb_cam,下载地址:https://github.com/ros-drivers/usb_cam
下载后放到ros的src目录下(catkin_ws/src) ,编译一下:
打开终端

$cd
$ cd catkin_ws
$ catkin_make

3、标定用的camera calibration包。下载地址:https://github.com/ros-perception/image_pipeline
现在还没有kinrtic版本的,这个一样可以的,下载后解压,只要camera_calibration这个包。将camera_calibration放到catkin_ws/src下,编译:

$cd
$ cd catkin_ws
$ catkin_make

在这里插入图片描述

开始标定
步骤:
1、运行摄像头驱动

$cd
$cd catkin_ws/src/usb-cam/launch
$roslaunch usb_cam-test.launch

摄像头一般有指示灯,亮了就可以了,没有图像也没关系。

### 如何在ROS中进行单目摄像头标定 #### 安装必要的软件包 为了能够在Ubuntu系统下执行ROS中的单目摄像头标定工作,需要先安装`camera-calibration`功能包。这可以通过命令行工具完成: ```bash sudo apt-get install ros-noetic-camera-calibration ``` 此操作适用于Noetic版本的ROS;对于其他版本,请相应调整包名中的版本号[^1]。 #### 准备标定图案 标定时需要用到特定模式的图像作为参照物,通常推荐使用棋盘格图案。该图案应当被清晰地打印出来并固定在一个平坦表面上。具体尺寸可以根据实际需求设定,但建议按照标准A4纸大小来制作以便于处理[^3]。 #### 启动相机节点与calibrate_node 启动计算机视觉流程的第一步是运行负责采集视频流的节点。如果是在笔记本电脑上利用内置摄像头,则可能只需要简单的roslaunch指令即可激活默认驱动程序。之后,在另一个终端窗口里启动校准界面: ```bash rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.025 image:=/usb_cam/image_raw camera:=/usb_cam ``` 上述命令假设使用的是一台分辨率为8×6(宽度乘高度)内部方块边长为25毫米(即0.025米) 的棋盘格模板,并且摄像机话题名为`/usb_cam`。用户应根据自己实际情况修改这些参数设置[^2]。 #### 执行标定过程 当Calibrate GUI弹出后,通过移动带有印刷好的棋盘格的目标物体至不同位置让其尽可能覆盖整个视野范围内的多个角度和距离处拍摄多帧照片。每拍一张新图片前都要等待直到界面上显示绿色勾选标记表示成功检测到了足够的特征点为止。一旦收集到足够数量的有效样本集就可以点击“CALIBRATE”按钮开始正式计算内参矩阵以及畸变系数等信息了[^4]。 #### 结果保存与应用 最终得到的一组内外部参数会被自动导出成YAML格式配置文件形式存储下来供后续调用。此时可以关闭所有进程结束本次实验活动。未来每当涉及到相同型号设备时只需加载之前已经获取过的数据就能快速实现精准度较高的测量任务了。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值