ROS学习记录:Ubuntu18下ROS摄像头标定

在Ubuntu18系统中完成摄像头标定

1、安装相机校准功能包
sudo apt-get install ros-melodic-camera-calibration
sudo apt-get install ros-melodic-uvc-camera
2、运行ROS核心程序
roscore
3、新建终端运行uvc_camera_node节点
rosrun uvc_camera uvc_camera_node
4、打印相机信息
rostopic echo /camera_info

这里D、K、R、P的原始数据都是0
在这里插入图片描述

5、使用黑白棋盘进行校正

准备棋盘
在这里插入图片描述
输入命令开始校正

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

在这里插入图片描述
在屏幕右侧有X、Y、Size、Skew控件,这是校准的进展状态,校准过程中将棋盘朝着左、右、上、下、前、后移动,等到条形变绿以后点击CALIBRATE按钮进行实际的校准计算,完成后点击SAVE保存校准信息。
在这里插入图片描述
进入 /tmp文件,解压calibrationdata.tar.gz文件,查询图像文件和校准参数

cd /tmp
tar -xvzf calibrationdata.tar.gz

在这里插入图片描述

6、将ost.txt文件改名为ost.ini,并使用camera_calibration_parsers功能包的convert节点创建相机参数文件(camera.yaml)。创建完成后,将其保存在~/.ros/camera_info/目录中,则ROS中使用的相机相关功能包会引用此信息
cd /tmp

将ost.txt文件改名为ost.ini

mv ost.txt ost.ini 

使用camera_calibration_parsers功能包的convert节点创建相机参数文件(camera.yaml)

rosrun camera_calibration_parsers convert  ost.ini camera.yaml

在~/.ros/ 下创建 camera_info目录

mkdir ~/.ros/camera_info 

将camera.yaml其保存在~/.ros/ camera_info/目录中

mv camera.yaml ~/.ros/camera_info/

再次运行uvc_camear_node节点,确保校准文件没有错误

rosrun uvc_camera uvc_camera-node

以上没有报错,进行下一步,查看相机信息

rostopic echo /camera_info 

在这里插入图片描述
可以看见D、K、R、P的数据以及被填充了,至此,摄像头标定顺利完成!

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值