相机标定简介与MatLab相机标定工具箱的使用(未涉及原理公式推导)
相机标定
一、相机标定的目的
确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数。
二、通用摄像机模型

世界坐标系、摄像机坐标系和像平面坐标系都不重合。同时考虑两个因素 :
(1)摄像机镜头的畸变误差,像平面上的成像位置与线性变换公式计算的透视变换投影结果有偏差;
(2)计算机中图像坐标单位是存储器中离散像素的个数,所以像平面上的连续坐标还需取整转换。

摄像机参数
l 摄像机内部参数 (Intrinsic Parameters)
摄像机坐标和理想坐标系之间的关系
图像坐标系、摄像机坐标系
The list of internal parameters:
- Focal length(焦距): The focal length in pixels is stored in the 2x1 vector fc.
- Principal point(主点): The principal point coordinates are stored in the 2x1 vector cc.
- Skew coefficient(偏斜系数): The skew coefficient defining the angle between the x and y pixel axes is stored in the scalar alpha_c.
- Distortions(畸变): The image distortion coefficients (radial and tangential distortions) are stored in the 5x1 vector kc.
l 摄像机外部参数 (Extrinsic Parameters)
摄像机在世界坐标系里的位置和方向
摄像机坐标系、世界坐标系
主要包括:旋转矩阵 R 的9个参数和平移矩阵的3个参数。或定义为 6 个。主要包括: 旋转矩阵的3个偏转角和平移矩阵的3个参数。
简而言之:

三、摄像机原理

摄像机坐标系的原点

位于摄像机的镜头中心,像平面坐标中心

位于光轴上,由小孔成像模型,

为焦距。从客观场景到数字图像的成像变换由 以下4步组成 :

四、摄像机标定方法分类
l 传统摄像机标定方法
l 主动视觉摄像机标定方法
l 摄像机自标定方法
|
标定方法 |
特点 |
优点 |
不足 |
|
传统摄像机标定方法 |
利用已知的景物结构信息。常用到标定块。 |
可以使用于任意的摄像机模型,标定精度高 |
标定过程复杂,需要高精度的已知结构信息。 |
|
主动视觉摄像机标定方法 |
已知摄像机的某些运动信息 |
通常可以线性求解,鲁棒性比较高 |
不能使用于摄像机运动未知和无法控制的场合 |
|
摄像机自标定方法 |
仅依靠多幅图像之间的对应关系进行标定 |
仅需要建立图像之间的对应,灵活性强 |
非线性标定,鲁棒性不高 |

四、张正友平面标定方法
算法原理


• 在这里假定模板平面在世界坐标系

的平面上
• 其中,

为摄像机的内参数矩阵,

为模板平面上点的齐次坐标,

为模板平面上点投影到图象平面上对应点的齐次坐标,

和

分别是摄像机坐标系相对于世界坐标系的旋转矩阵和平移向量


根据旋转矩阵的性质,即

和

,每幅图象可以获得以下两个对内参数矩阵的基本约束


由于摄像机有5个未知内参数,所以当所摄取得的图象数目大于等于3时,就可以线性唯一求解出

算法描述
- 打印一张模板并贴在一个平面上
- 从不同角度拍摄若干张模板图象
- 检测出图象中的特征点
- 求出摄像机的内参数和外参数
- 求出畸变系数
- 优化求精
五.使用Matlab相机标定工具箱标定相机的基本步骤
1.安装MATLAB
2.安装相机标定工具箱Camera Calibration Toolbox


2.准备一张标定板
3、实验数据采集

3、相机标定步骤
First calibration example - Corner extraction, calibration, additional tools






然后在对每一幅测试图进行手动设置最外围的四个角点,第一个点会作为原点,一般位于左上角,其他三个点选择顺序不重要,不过还是建议按顺时针选取(为标定方便,我们未将最外层的方格包括在内)

接下来需要设定每个小方格在现实世界中的宽高,以便随后角点的自动选择;实验过程中设定为30mm×30mm;只需第一次设定



说明
A. 通过Recomp. corners按钮提高标定精确度;
B. Analyse error展示角点误差分布,用鼠标左键点击后,在命令窗口可直接显示该点信息;
C.点击Reproject on images按钮用计算出来的参数投影到图像。这些投影是基于当前的内部参数和外部参数。二次投影误差同样显示如下:



附件列表
相机标定简介与MatLab相机标定工具箱的使用(未涉及原理公式推导)的更多相关文章
- 相机标定过程(opencv) + matlab参数导入opencv + matlab标定和矫正
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 辛苦原创所得,转载请注明出处 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- SLAM入门之视觉里程计(6):相机标定 张正友经典标定法详解
想要从二维图像中获取到场景的三维信息,相机的内参数是必须的,在SLAM中,相机通常是提前标定好的.张正友于1998年在论文:"A Flexible New Technique fro Cam ...
- Autoware 标定工具 Calibration Tool Kit 联合标定 Robosense-16 和 ZED 相机!
一.安装 Autoware & ZED 内参标定 & 外参标定准备 之前的这篇文章:Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定! 记录了我用 ...
- 利用matlab摄像机标定
(1)输入图像 "Image names"键 Matlab的图形窗口显示出20幅靶标图像 (2) 提取角点 "Extract grid corners"键. 输 ...
- Matlab 摄像机标定+畸变校正
博客转载自:http://blog.csdn.net/Loser__Wang/article/details/51811347 本文目的在于记录如何使用MATLAB做摄像机标定,并通过opencv进行 ...
- Matlab计算机视觉/图像处理工具箱推荐
Matlab计算机视觉/图像处理工具箱推荐 转载http://cvnote.info/matlab-cv-ip-toolbox/ 计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理 ...
- matlab 小波工具箱
wavemenu --- >wavelet ---->wavelet packet1-D Matlab小波工具箱的使用1 转载▼ http://blog.sina.com.cn/s/blo ...
- matlab添加M_map工具箱(转 http://blog.sina.com.cn/s/blog_491b86bf0100srt9.html)
之前转载过matlab画世界地图的博文.最近正好用到.首先试了matlab自带的worldmap,感觉画出来的图形不尽如人意,比较杂乱.如下图. 略查阅了些资料,请教了Liangjing,一致推荐m_ ...
- Matlab小波工具箱的使用2
Matlab小波工具箱的使用2 (2011-11-11 09:32:57) 转载▼ http://blog.sina.com.cn/s/blog_6163bdeb0102dw7a.html#cmt_5 ...
随机推荐
- Lattice Reduction (LLL) 算法C代码实现
废话不多说,大名鼎鼎的Lenstra-Lenstra-Lovasz(LLL) 算法.实现参考论文:Factoring Polynomials with Rational Coefficients, 作 ...
- leetcode算法分类
利用堆栈:http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/http://oj.leetcode.com/problem ...
- Hive metastore三种配置方式
http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...
- 常用linux 命令 -字符串相关
参考网络文章,个人工作总结 题记:一般对字符串的操作有以下几种:求长度,截取字符串,拼接字符串,找字符串中某个字符的索引 1 expr 命令 1.1 定义 man 手册 Print the value ...
- Python 登录系统
---------------------------------------------------------------------------------------- 该程序主要实现了以下3 ...
- MRC迁移ARC之__block
今日帮着同事把老项目从MRC迁移至ARC,大部分工作无非是删除release,[super dealloc]等方法,只要关闭了MRC编译选项后,编译器能自动帮你检查,block就有一些不一样了,发现许 ...
- 使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接
使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接: 使用requests获取html后,分析html中的标签发现所需要的链接在& ...
- Tomcat7配置及其servlet调用详解
Tomcat 1 Tomcat简介 Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成 ...
- 答辩HTML5
答辩有三个项目,有三个游戏和知乎,游戏都是有js写的,我想说的是想要做一个是那么难啊!老师给了我们游戏的项目还有游戏的思路构成,完成项目.还有一个知乎,也很难,用到HTML,css3,php,数据库, ...
- Hadoop基础思维导图