尝试进行Kinect2.0相机进行标定

1. Color镜头标定

$(u_{rgb},v_{rgb},1)=W_{rgb}*(x,y,z)$

Calibration results after optimization (with uncertainties):

Focal Length:          fc = [ 1094.03583   1087.37528 ] +/- [ 55.02816   51.42175 ]
Principal point: cc = [ 942.00992 530.35240 ] +/- [ 13.00131 31.27892 ]
Skew: alpha_c = [ 0.00000 ] +/- [ 0.00000 ] => angle of pixel axes = 90.00000 +/- 0.00000 degrees
Distortion: kc = [ 0.06857 -0.10542 0.00233 0.00092 0.00000 ] +/- [ 0.02206 0.02884 0.00379 0.00492 0.00000 ]
Pixel error: err = [ 0.49343 0.67737 ]

2. 红外镜头标定

$(u_{ir},v_{ir},1)=W_{ir}*(x,y,z)$

Calibration results after optimization (with uncertainties):

Focal Length:          fc = [ 379.40726   378.54472 ] +/- [ 40.73354   34.75290 ]
Principal point: cc = [ 263.73696 201.72450 ] +/- [ 9.17740 30.29723 ]
Skew: alpha_c = [ 0.00000 ] +/- [ 0.00000 ] => angle of pixel axes = 90.00000 +/- 0.00000 degrees
Distortion: kc = [ 0.03377 -0.04195 0.00519 0.00734 0.00000 ] +/- [ 0.07368 0.25678 0.01111 0.00965 0.00000 ]
Pixel error: err = [ 0.88997 0.92779 ]

根据上面两个式子可以推导出两个图像像素之间的对应关系。先将RGB图像映射和depth同样大小。

3. 2个相机相对关系计算

前面两个相机都是以相机中心作为世界坐标系的原点。要建立两个相机之间的关系,需要构建以统一的世界坐标系。以深度相机中心为世界坐标的原点。

则RGB相机和相机原点存在如下关系

$(x_{w},y_{w},z_{w})=(x_{ir},y_{ir},z_{ir})=R*(x_{rgb},y_{rgb},z_{rgb})+T$

补充:两个相机的配准问题当前的好多博客里写的方法,根据color和Ir 的外参计算的说法很扯淡。

因为2个图像的分辨率不同,外参根本不在一个框架下。这应该是一个立体匹配的问题。

A Quantitative Comparison of Calibration Methods for RGB-D Sensors Using Different Technologies
https://github.com/rgbdemo/rgbdemo/blob/master/calibration/calibrate_kinect.cpp


工具包:

Matlab自带工具箱:

http://www.ilovematlab.cn/thread-267670-1-1.html

http://www.cnblogs.com/li-yao7758258/p/5929145.html

其他工具箱:

张正友标定法 Camera Calibration Toolbox for Matlab   这个工具箱使用standard可以,但是另外一个不读到内存的好像有bug。

http://www.vision.caltech.edu/bouguetj/calib_doc/index.html

http://blog.csdn.net/felix86/article/details/38401447

kinect 2.0 SDK学习笔记(四)--深度图与彩色图对齐

重点参考:Kinect深度图与摄像头RGB的标定与配

orbslam2的基础理论(一)https://blog.csdn.net/qq_18661939/article/details/51829573

Kinect2.0相机标定的更多相关文章

  1. 相机标定:关于用Levenberg-Marquardt算法在相机标定中应用

    LM算法在相机标定的应用共有三处. (1)单目标定或双目标定中,在内参固定的情况下,计算最佳外参.OpenCV中对应的函数为findExtrinsicCameraParams2. (2)单目标定中,在 ...

  2. OpenCV相机标定和姿态更新

    原帖地址: http://blog.csdn.net/aptx704610875/article/details/48914043 http://blog.csdn.net/aptx704610875 ...

  3. 相机标定 matlab opencv ROS三种方法标定步骤(2)

    二  ubuntu下Opencv的相机标定 一般直接用Opencv的源码就可以进行相机的标定,但是可能只是会实现结果,却不懂实现的过程,我也是模模糊糊的看了<计算机视觉中的多视图几何>以及 ...

  4. 相机标定 matlab opencv ROS三种方法标定步骤(3)

    三 ,  ROS 环境下 如何进行相机标定 刚开始做到的时候遇到一些问题没有记录下来,现在回头写的时候都是没有错误的结果了,首先使用ROS标定相机, 要知道如何查看节点之间的流程图  rosrun r ...

  5. 相机标定 matlab opencv ROS三种方法标定步骤(1)

    一 . 理解摄像机模型,网上有很多讲解的十分详细,在这里我只是记录我的整合出来的资料和我的部分理解 计算机视觉领域中常见的三个坐标系:图像坐标系,相机坐标系,世界坐标系,实际上就是要用矩阵来表 示各个 ...

  6. 相机标定:kalibr标定工具箱使用总结

    1 多相机标定 1.1采集图像和IMU 1.2制作Bag包 1)组织文件结构 ~/kalibr_workspace/test/stereo_calib bagsrc cam0 (1+time(0))* ...

  7. SLAM入门之视觉里程计(6):相机标定 张正友经典标定法详解

    想要从二维图像中获取到场景的三维信息,相机的内参数是必须的,在SLAM中,相机通常是提前标定好的.张正友于1998年在论文:"A Flexible New Technique fro Cam ...

  8. OpenCV相机标定

    标签(空格分隔): Opencv 相机标定是图像处理的基础,虽然相机使用的是小孔成像模型,但是由于小孔的透光非常有限,所以需要使用透镜聚焦足够多的光线.在使用的过程中,需要知道相机的焦距.成像中心以及 ...

  9. 相机标定问题-Matlab & Py-Opencv

    一.相机标定基本理论 1.相机成像系统介绍 图中总共有4个坐标系: 图像坐标系:Op    坐标表示方法(u,v)                 Unit:Dots(个) 成像坐标系:Oi      ...

随机推荐

  1. ansj分词原理

    ansj第一步会进行原子切分和全切分,并且是在同时进行的.所谓原子,是指短句中不可分割的最小语素单位.例如,一个汉字就是一个原子.全切分,就是把一句话中的所有词都找出来,只要是字典中有的就找出来.例如 ...

  2. day_5.21 py 高级编程

    1.禁止模块之间的循环调用 2.浅拷贝    只拷贝引用!!\ 3. 深拷贝  只要里面有引用就继续拷贝 4.copy,copy() 5. '''2018-5-21 11:39:52就业班 py高级 ...

  3. SPL标准库-数据结构

    数据结构:栈 );] = ;] = ;var_dump($array); 来自为知笔记(Wiz)

  4. DB2 的代理 (agent)

    DB2 的代理 (agent) 是位于 DB2 服务器中的服务于应用程序请求的一些进程或线程.当有外部应用程序连接至 DB2 实例提出访问请求时,DB2 的代理就会被激活去应答这些请求.一般 DB2 ...

  5. echarts pie 图表 显示的label 中内容 字体大小自定义

    option = { tooltip: { trigger: 'item', formatter: "{a} <br/>{b}: {c} ({d}%)" }, lege ...

  6. Codeforces 670E - Correct Bracket Sequence Editor - [对顶栈]

    题目链接:https://codeforces.com/contest/670/problem/E 题意: 给出一个已经匹配的括号串,给出起始的光标位置(光标总是指向某个括号). 有如下操作: 1.往 ...

  7. HDU 1002 - A + B Problem II - [高精度]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 Problem DescriptionI have a very simple problem ...

  8. [No0000175]maven常用命令集合(收藏大全)

    抽了点时间,整理了一些maven常用命令参数,以便参考:参考了maven官网和网上其他一些maven追随者的文件,不在此一一列举,但表示感谢! mvn命令参数 mvn -v, --version 显示 ...

  9. [No0000D8]rar合并到JPG.bat用图片隐藏文件

    echo off cls echo 请拖入jpg图像文件后回车: set /p imagefile= echo 请拖入rar文件后回车: set /p rarfile= copy /b %imagef ...

  10. 1.7Oo局部变量和成员变量执行顺序

    import java.util.Scanner; public class booleann { private float fWidth; private float fHeight; void ...