ros摄像头参数标定
由于摄像头内部或者外部的一些原因,生成的图像往往会发生畸变,为了避免数据源造成的误差,需要对摄像头的参数进行标定。ROS官方提供了用于单目双目摄像头标定的功能包camera_calibration。
- camera_ calibration功能包
首先在使用以下命令安装摄像头标定功能包
sudo apt-get install ros-kinetic-camera-calibration
标定需要使用到棋盘格图案的标定靶,可以在网上找到。将该标定靶打印出来贴到平面硬纸板上备用。
- 启动标定程序
一切就绪后准备开始标定摄像头。首先使用以下命令启动usb摄像头
roslaunch usb_cam uab-cam-test.launch
然后使用以下命令启动标定程序:
rosrun camera_calibration cameracalibrator.py ––size 8x6 ––square 0.025 image:=/usb_cam/image_raw camera:=/usb_cam
Cameracalibrator.py标定程序需要以下几个输入参数。
- Size:标定靶的内部角点个数,这里使用的棋盘格一共六行,每行有八个内部角点。
- Square:这个参数对应每个棋盘格的边长,单位是米。
- Image和camera:设置摄像头发布的图像话题。
根据使用的摄像头和标定靶尺寸相应修改以上参数,即可启动标定程序。
- 开始标定
标定程序启动成功以后,将标定靶放在摄像头视野内,应该可以看到以下图形界面。在没有标定成功前,右边的按钮都为灰色,不能点击。为了提高标定的准确性,应该尽量让标定把出现在摄像头视野范围内的各个区域,界面右上角的进度条会提示标定进度.
- X:标定靶在摄像头视野中的左右移动
- Y:标定靶在摄像头视野中的上下移动
- Size:标定靶在摄像头视野中的前后移动
- Skew:标定靶在摄像头视野中的倾斜转动。
不断在视野中移动标定配,直到“CALIBRATE"按钮变色,表示标定程序的参数采集完成。点击"CALBRATE按钮,标定程序开始自动计算摄像头的标定参数,这个过程满要等待段时间, 界面可能会变成灰色无响应状态,注意无响应最长可达十到二十分钟,期间不要关闭。
参数计算完成后界面回复,而且终端也会有标定结果的显示。
点击save按钮,终端会打印生成文件及路径
('Wrote calibration data to', '/tmp/calibrationdata.tar.gz')
我们在终端中可以看到路径是在计算机目录/tmp下。点击commit按钮,提交数据并退出程序,在计算机目录打开/tmp文件夹,可以看到calibrationdata.tar.gz,解压文件后从中找到ost.yaml文件,将文件放到“cam_info”文件夹下,将文件里面的参数camera_name改为head_camera,然后就可以在相机的launch文件加载该参数文件了
<launch><node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video0" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/><!--加载标定文件--><param name="camera_info_url" type="string" value="file://$(find ar_pose_adjust)/cam_info/ost.yaml"/></node><!--node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"><remap from="image" to="/usb_cam/image_raw"/><param name="autosize" value="true" /></node-->
</launch>
ros摄像头参数标定相关推荐
- ROS 摄像头参数标定
ROS 摄像头参数标定 1. 缘由意义 2. 目的 3. 标定 3.1. 准备 3.2. 启动摄像头 3.3. 启动标定程序 3.4. 开始标定 3.5. 数据保存 3.6. 纠正 1. 缘由意义 在 ...
- 古月居ROS机器视觉开发——摄像头参数标定(二)
机器视觉 文章目录 机器视觉 前言 一.为什么要标定摄像头 二.标定过程 1.安装标定功能包 2.开始标定 总结 前言 古月居的课程链接可以去第一篇文章查看 一.为什么要标定摄像头 我们更需要的其实还 ...
- 在ROS平台上标定普通摄像头与Kinect摄像头
摄像头为什么要标定 摄像头是一种非常精密的光学仪器,它对外界环境的感知是非常敏感的.由于摄像头内部和外部的一些原因,生成的物体图像常常会发生一定的畸变,例如在鱼眼摄像头,畸变是非常大的,如果直接将采集 ...
- ROS摄像机的标定(这里很好的一点就是给出了标定结果的各个参数的含义,这个很多都没讲)
这里很好的一点就是给出了标定结果的各个参数的含义,这个很多都没讲 转载自:https://blog.csdn.net/artista/article/details/51125560 ROS摄像机的标 ...
- ROS系列——关于OpenCV读取和设置网络摄像头参数的问题
ROS系列--关于OpenCV读取和设置网络摄像头参数的问题 说明 1. cv::VideoCapture类的set函数 2. cv::VideoCapture类的get函数 说明 在对网络摄像头通过 ...
- 双目摄像头的标定和测距(一)
双目摄像头的标定和测距 摄像头测试 摄像头标定 图像获取 摄像头标定 摄像头测距 运行环境 Ubuntu 18.04 LTS ROS version Melodic OpenCV1 version 3 ...
- 摄像头Camera标定Calibration原理Theory
摄像头Camera标定Calibration原理Theory cv2.cameraCalibration Pinhole camera calibration calls camera vision ...
- 超强实操!手把手教学Kinect深度图与RGB摄像头的标定与配准
作者 | aipiano @CSDN 编辑 | 3D视觉开发者社区 导读 Kinect作为微软推出的XBOX360体感周边外设,具有获取深度信息的能力.但由于Kinect自身RGB摄像头分辨率有限,其 ...
- 使用camera_calibration对xtion pro live深度相机进行参数标定,rosdep install camera_calibration报错Rosdep cannot find
在图像处理中,一般都涉及相机参数标定,但网上看了好多博客中相机标定步骤挺复杂的,所以特来记录.本文使用的ubuntu系统.ROS Kinetic, xtion深度相机, 使用camera_calibr ...
最新文章
- 【深度解析】FPGA四大设计要点
- Java 三位数的变形
- SVM -支持向量机原理详解与实践之五
- Leetcode 137. Single Number II JAVA语言
- 全排列—leetcode46
- 推荐系统与协作过滤面临的主要问题
- 【大牛疯狂教学】深入拆解java虚拟机百度云
- jdk32位安装包下载_MySQL 8.0.19安装图文详解!手把手教会您从下载到安装成功
- 服务器芯片将填补中国空白,3年迭代4次技术,芯片黑马填补国产空白,韩企的垄断被打破...
- 【稳定性day7】mPaaS - 蚂蚁金服高可用的产品化之路
- python format( )强力格式化
- 正确认识智能视频分析技术
- 计算机培训word,最新计算机培训word资料.pptx
- 谷歌浏览器拓展及脚本安装入门简介
- c程序设计语言布莱恩克尼汉,《C程序设计语言(第2版新版)典藏版》 —1.5.4 单词计数...
- 单片机 stm32 差分升级 增量升级算法源码,提供移植 纯c编写跨平因为是程序源码
- appium-inspector安装
- 有了这些包装样机,以后再也不用求人设计啦!
- 达人篇:3.3)六西格玛
- Matlab FERUM可靠性,边坡稳定性可靠度分析的随机有限元法-修改