Learning OpenCV第十一章(1)
来源:互联网 发布:淘宝运费险退货流程 编辑:程序博客网 时间:2024/06/16 06:43
十一 摄像机模型与标定
一.简介
1.发光源发出射线,穿过空间照射在物体上形成光线,物体表面吸收掉大多射线,只剩下一小部分
被人眼或者摄像机察觉,被视网膜或者图像采集器吸收。
2.摄像机的标定过程给出了摄像机的几何模型以及透镜的畸变模型,这两个模型给出了摄像机的内参数,
通过这两个模型可以矫正透镜畸变。
3.单应变换(Homography transformation):描述摄像机基本行为特征和各种失真、矫正特性的数学
工具。
二.摄像机标定
1.针孔摄像机
(1)焦距(focal length):描述远处物体相关图像大小的摄像机参数
(2)−x = f*X/Z;x:图像大小;f:焦距;X:物体大小;Z:摄像机到物体的距离。
(3)将图像平面放置在投影中心前面,形成的图像便不在是倒立,形式则更简单一些。
(4)Q(X,Y,Z)投影到(x,y)
x=fx(X/Z)+Cx;
y=fy(Y/Z)+Cy;
三.基本投影几何
1.投影变换(Projective transformation):将Q(X,Y,Z)映射到投影平面的(x,y)的过程。
2.齐次坐标:把维数为n投影空间上的点用(n+1)维向量的点表示,限制是任何两点的交比
不变.图像平面是一个二维空间,所以可以用一个三维向量q(q1,q2,q3)来计算平面上的点,可以
通过除以q3得到实际的像素坐标值。q=MQ,M是摄像机的内参数矩阵。
3.void cvConvertPointsHomogenious(
const CvMat* src,
CvMat dst);
对齐次坐标进行转换。
4.理想针孔由于只有少数的光线通过,曝光不足使得生成图像的速度较慢,则必须加入大面积且
弯曲的透镜,但是这样又带来了透镜畸变。
四.透镜畸变
径向畸变来自透镜形状,切向畸变来自于摄像机组装过程。
1.径向畸变,产生在成像仪的边缘。
光学中心的畸变为0,随着向外边缘移动,畸变越来越严重。实际情况中,这种畸变比较小,可以用r=0位置周围的泰 勒级数的前几项来定量描述
2.切向畸变:透镜本身与图像平面不平行产生。
五个畸变参数:k1,k2,k3,p1,p2
一.简介
1.发光源发出射线,穿过空间照射在物体上形成光线,物体表面吸收掉大多射线,只剩下一小部分
被人眼或者摄像机察觉,被视网膜或者图像采集器吸收。
2.摄像机的标定过程给出了摄像机的几何模型以及透镜的畸变模型,这两个模型给出了摄像机的内参数,
通过这两个模型可以矫正透镜畸变。
3.单应变换(Homography transformation):描述摄像机基本行为特征和各种失真、矫正特性的数学
工具。
二.摄像机标定
1.针孔摄像机
(1)焦距(focal length):描述远处物体相关图像大小的摄像机参数
(2)−x = f*X/Z;x:图像大小;f:焦距;X:物体大小;Z:摄像机到物体的距离。
(3)将图像平面放置在投影中心前面,形成的图像便不在是倒立,形式则更简单一些。
(4)Q(X,Y,Z)投影到(x,y)
x=fx(X/Z)+Cx;
y=fy(Y/Z)+Cy;
三.基本投影几何
1.投影变换(Projective transformation):将Q(X,Y,Z)映射到投影平面的(x,y)的过程。
2.齐次坐标:把维数为n投影空间上的点用(n+1)维向量的点表示,限制是任何两点的交比
不变.图像平面是一个二维空间,所以可以用一个三维向量q(q1,q2,q3)来计算平面上的点,可以
通过除以q3得到实际的像素坐标值。q=MQ,M是摄像机的内参数矩阵。
3.void cvConvertPointsHomogenious(
const CvMat* src,
CvMat dst);
对齐次坐标进行转换。
4.理想针孔由于只有少数的光线通过,曝光不足使得生成图像的速度较慢,则必须加入大面积且
弯曲的透镜,但是这样又带来了透镜畸变。
四.透镜畸变
径向畸变来自透镜形状,切向畸变来自于摄像机组装过程。
1.径向畸变,产生在成像仪的边缘。
光学中心的畸变为0,随着向外边缘移动,畸变越来越严重。实际情况中,这种畸变比较小,可以用r=0位置周围的泰 勒级数的前几项来定量描述
2.切向畸变:透镜本身与图像平面不平行产生。
五个畸变参数:k1,k2,k3,p1,p2
- Learning OpenCV第十一章(1)
- Learning Opencv第三章(1)
- Learning Opencv第二章
- learning OpenCV(1)
- learning opencv 4-1
- OpenCV-Python learning---1
- Learning opencv 1 imageMask
- Learning Opencv第二章(2)
- Learning Opencv 5章作业
- Learning OpenCV
- learning opencv
- learning Opencv
- 第十一章编程练习(1)
- [learning opencv]第十章cvGoodFeaturesToTrack的demo
- Learning OpenCV第三章--一些函数
- [learning opencv]第十章cvGoodFeaturesToTrack的demo
- 【Learning OpenCV】 第六章 图像变换
- Learning OpenCV 2-1 显示图像
- #define f(a, b) a##b
- 备份
- Linux异步IO操作
- 【Linux从零开始】:0.初识Linux
- json form javascript
- Learning OpenCV第十一章(1)
- 分享一个RTF转Image的方法,求高手优化
- WCF与Web Service的区别
- java synchronized详解(二)
- 笔记.javascript无法执行问题
- Struts2 标签
- 我看过的最好的网络入门书 (来自豆瓣)
- 让工作变得简单而高效的10种方法
- 底座音箱FireDock:专为Kindle Fire设计