kinect2的标定
我用的是ubuntu14.04LTS,ROS 版本是indigo,kinect v2,我是用双系统装的ubuntu,关于怎么使用安装kinect2的安装以及使用的都在github上有着详细的说明
Kinect2 开源驱动:libfreenect2
kinect2--> ros的bridge:iai_kinect2
sudo
apt-get install build-essential cmake pkg-config libturbojpeg
libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
安装GLFW3
Bus 002 Device 002: ID 045e:02d9 Microsoft Corp. 就说明连上了。
./bin/Protonect
接下来可以测试了。
新打开一个终端,运行
roslaunch kinect2_bridge kinect2_bridge.launch
获取Kinect数据 再新打开一个终端,运行
rosrun kinect2_viewer kinect2_viewer
就可以正常显示图像了

一般在使用前 ,我们都会矫正,就是所谓的计算相机的内外参数,一般使用的方法都是张正友标定法的理论,理论知识就不在赘述,其实当时看都是能看懂的一旦让自己完全从头推理就懵逼了
首先呢我们的矫正步骤就是,我们得有标定模板,这如果你之前下载了iai_kinect2在kinect2_calibration文件下是有标定模板的 你可以随意打印一个模板等着后期的标定使用

那么我就按照github的教程教你如果去矫正kinect2 以下 就是github给出的具体的步骤,对于其中的参数我们一般按照要求给就OK了,对于kienct 2的标定并不需要说把红外发射器给遮住 然后使用红外LED去矫正的,这是针对kinect1的,之前我矫正过kinect1 确实是需要把红外发射装置给遮住,然后才能矫正深度信息,
Detailed steps:
- If you haven't already, start the kinect2_bridge with a low number of frames per second (to make it easy on your CPU):
rosrun kinect2_bridge kinect2_bridge _fps_limit:=2 (这一步就是要启动ROS的kienct 2的驱动货都kienct2的原始数据) - create a directory for your calibration data files, for example:
mkdir ~/kinect_cal_data; cd ~/kinect_cal_data(这是为了创建一个文件,存储我们用于矫正的照片) - Record images for the color camera:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record color (这命令就是开始矫正深度相机的RGB相机,对于后面的参数我们可以知道chess5x7x0.03(是棋盘的大小 可以用尺子量一下的) record(记录保存下下) color)
- Calibrate the intrinsics:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate color - Record images for the ir camera:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record ir - Calibrate the intrinsics of the ir camera:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate ir - Record images on both cameras synchronized:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record sync - Calibrate the extrinsics:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate sync
- Calibrate the depth measurements:
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate depth
- Find out the serial number of your kinect2 by looking at the first lines printed out by the kinect2_bridge. The line looks like this:
device serial: 012526541941 - Create the calibration results directory in kinect2_bridge/data/$serial:
roscd kinect2_bridge/data; mkdir 012526541941 - Copy the following files from your calibration directory (~/kinect_cal_data) into the directory you just created:
calib_color.yaml calib_depth.yaml calib_ir.yaml calib_pose.yaml - Restart the kinect2_bridge and be amazed at the better data.
还要好多就不在写了
通常遇到最多的就是这种问题,但是这个问题并不影响我们的矫正
[ERROR] Tried to advertise a service that is already advertised in this node [/kinect2_calib_1458721837266890808/compressed/set_parameters]
[ERROR] Tried to advertise a service that is already advertised in this
node [/kinect2_calib_1458721837266890808/compressed/set_parameters]
真正影响我们的是我们输入的参数 比如ROS的开发包给例子是使用棋盘格6*8的棋盘,正方形的边长为0.03米 但是我们的棋盘可能并并不是那么小的,这时候要使用我们的
棋盘的话就要注意给的参数了。比如用的是长有9个,款有7个正方形的标定棋盘,这时候我们的参数是6*8*0.05,参数一定要给准确,不然会出现错误的 啊、
而且就是在同一个文件下使用命令,
kinect2的标定的更多相关文章
- Kinect2.0相机标定
尝试进行Kinect2.0相机进行标定 1. Color镜头标定 $(u_{rgb},v_{rgb},1)=W_{rgb}*(x,y,z)$ Calibration results after opt ...
- DSO之光度标定
光度标定(Photometric Camera Calibration)是DSO(Direct Sparse Odometry)论文中比较特别的一部分.常规的vSLAM不太考虑光度标定的问题.比如基于 ...
- 相机标定简介与MatLab相机标定工具箱的使用(未涉及原理公式推导)
相机标定 一.相机标定的目的 确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数. 二.通用摄像机模型 世界坐标系.摄像机坐标 ...
- LL谱面分析和难度标定
LL谱面分析和难度标定 先介绍一下LL谱面的存储方式:TimeLine序列(简称TL序列),TL序列中的每一个元素(即音符)可以由一个C语言中的结构体来表示: struct note{ int lin ...
- 在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge
小乌龟:大乌龟,你这两周干么呢? 大乌龟:在Ubuntu14.04 ROS_indigo上装Kinect2的驱动和bridge 小乌龟:就装个驱动有什么难的 大乌龟:你说的对小乌龟,这确实不是问题,但 ...
- [转]opencv3.0 鱼眼相机标定
[原文转自]:http://blog.csdn.net/qq_15947787/article/details/51441031 前两天发表的时候没注意,代码出了点错误,所以修改了一下,重新发上来. ...
- 机器人操作臂运动学入门一--D-H参数标定
最近重新学习机器人方面的知识,想到一年以前在学校选修<机器人学技术基础>这门课的时候,老师虽然讲机器人的各个方面的知识都讲到了,但只是浮光绿影的的提到,并没有真正讲到深处,我的理解也没有更 ...
- 【图像】Matlab图像标定工具箱
参考教程: Matlab工具箱教程 http://www.vision.caltech.edu/bouguetj/calib_doc/ 摄像机模型 http://oliver.zheng.blog ...
- 相机标定:Matlab标定工具箱使用要点
1.单目标定 1.核心步骤 (1)获得标定数据:<Images_names>, <Read images>, <Extract grid corners> 1)输入 ...
随机推荐
- 谈谈MySQL的WriteSet并行复制
[历史背景] 岁月更迭中我已经从事MySQL-DBA这个工作三个年头,见证MySQL从“基本可用”,“边缘系统可以用MySQL”,“哦操!你怎么不用MySQL”; 正所谓!“一个数据库的境遇既取决于历 ...
- docker容器网络通信原理分析
概述 自从docker容器出现以来,容器的网络通信就一直是大家关注的焦点,也是生产环境的迫切需求.而容器的网络通信又可以分为两大方面:单主机容器上的相互通信和跨主机的容器相互通信.而本文将分别针对这两 ...
- [转]:Android 5.0的调度作业JobScheduler
参考:http://blog.csdn.net/cuiran/article/details/42805057 增加 JobScheduler 的同时,去掉了几个广播, CONNECTIVITY_AC ...
- CentOS 7 安装中文环境
centos升级到7后,系统设置好多和6有了很大的区别,中文支持就有很大的变化. 1.安装中文语言包. yum install kde-l10n-Chinese 2.安装(已经安装的要重新安装)gli ...
- 通过纯代码方式发布WCF服务
网络上搜索WCF服务,一般是寄宿在IIS,通过WebConfig方式配服务地址,接口类型等信息,但是对于我这样的懒人,目前项目在开发阶段,实在不愿意每次添加新服务就更新配置文件,于是使用了反射来加载服 ...
- android 学习视频汇总
1.java基础知识 http://www.eoeandroid.com/thread-333511-1-1.html 网易公开课-抽象编程:http://open.163.com/special/o ...
- node调试的两种方法
刚开始学node.js的时候,一直在用node-inspector,虽然很麻烦,但聊胜于无.后面公司牛人推荐使用node-webkit,就再也没用过node-inspector.再后来node.js版 ...
- Golang 新手可能会踩的 50 个坑
前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷.如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到. 如果花时间学习官方 ...
- HTML5学习笔记(六):CSS基本样式
背景 需要注意:背景的所有属性都不会向下进行继承. 背景色 我们可以设定一个纯色为背景色. p {background-color: red;} a {background-color: #ff000 ...
- Flink安装、高可用性
Flink JobManager HA模式部署(基于Standalone) SCP 命令 SSH免密码登录,搭建Flink standalone集群 https://blog.csdn.net/jie ...