单应性矩阵的理解及求解1
https://blog.csdn.net/zinnc/article/details/52319491
尽量写的通俗一点,因为从某种程度上讲,本人也是dummy.....
1. 先说homogeneous coordinate,齐次坐标
一幅2D图像上的非齐次坐标为(x,y),而齐次坐标为(x,y,1),也可以写成(x/z,y/z,1)或(x,y,z)。齐次坐标有很多好处,比如可以很清楚的确定一个点在不在直线上:
T(x)*I=0,这里T表示转置;
还可以描述无穷远点:(x,y,0);
还可以把平移和旋转写到一个矩阵里(也有不愿意这么干的,摄影测量里用的都是非齐次坐标,平移和旋转分开写);
具体的可去看<计算机视觉中的多视图几何>,i.e.,<multiple view geometry in computer vision>。
2. Homography matrix,单应性矩阵
两个不同视角的图像上的点对的homogeneous coordinate可以用一个射影变换(projective transformation)表述,即:
x1 =H*x2
二维和三维的图示如下:
射影变换也叫“单应”--Homography,“Homo”前缀就是same的意思,表示“同”(homosexual大家都知道),homography就是用同一个源产生的graphy,中文译过来大概就是"单应"。
因此上面式子中的矩阵H就叫单应性矩阵。上式中的x1和x2都是3*1的齐次坐标,因此H是一个3*3的矩阵:{h00,h01,h02;h10,h11,h12;h20,h21,h22}。
然而,单应矩阵的自由度是多少呢?(参考https://www.zhihu.com/question/23310855)
如果给定一个单应H={h_ij},给它的元素乘上同一个数a,得到的的单应a*H和H作用相同,因为新单应无非把齐次点x1变成了齐次点a*x1,都是一回事。因此我们可以把a换成1/h22,那么H就变成了只有8个自由元素的矩阵。
那么需要多少个点对求解这个H呢?如果需要唯一解的话,需要4个点对(对应8个方程,去解H中的8个未知数)。
关于这个话题的理解,可以继续参考:
http://blog.csdn.net/qq_19764963/article/details/52038748
http://cseweb.ucsd.edu/classes/wi07/cse252a/homography_estimation/homography_estimation.pdf
3. 举两个应用的例子。
例子1:两个图像的拼接
通过图像特征点匹配+RANSAC可以获得图像之间的单应性矩阵,然后把其中一个图像通过这个矩阵投影到另一个图像上就完成了基本的拼接。
例子2:在相机的内参数标定过程中会用到求解单应性矩阵
对一个棋盘格拍照,棋盘格的世界坐标系是用户任意设定的,标定的时候,默认世界坐标系就是以标定板左上角点为原点,z轴垂直于标定板,xoy面与标定板重合的三维直角坐标系。棋盘格的格子长度已知,因此可以知道各个角点的世界坐标系坐标XYZ(Z=0)。由于Z=0,因此可以忽略掉Z这个维度,世界坐标系中某个坐标(X,Y,Z,1)到图像坐标(x,y,1)的变换就等价于(X,Y,1)到图像坐标(x,y,1)的变换。此时的变换矩阵就由3*4变为3*3,成为了单应性矩阵。
因此用4个角点就可以计算H的8个参数。以不同的角度对棋盘格拍摄3张就可以得到3个H,如果用张正友标定法,就可以得到6个约束方程,可以求解B矩阵(对称矩阵)的6个未知参数,进而通过Cholesky分解求解出内参矩阵A的参数。
单应性矩阵的理解及求解1相关推荐
- 计算机视觉学习笔记(四)homography 单应性矩阵的理解及求解
单应性矩阵的理解及求解 1. 齐次坐标(Homogeneous Coordinate) 一幅2D图像上的非齐次坐标为(x,y),而齐次坐标为(x,y,1),也可以写成(x/z,y/z,1)或(x,y, ...
- 单应性矩阵的理解及求解3
http://www.sohu.com/a/223594989_100007727 前面文章<从零开始学习「张氏相机标定法」(一)成像几何模型>中我们已经得到了像素坐标系和世界坐标系下的坐 ...
- 单应性矩阵的理解及求解4
https://blog.csdn.net/hudaliquan/article/details/52121832 网上有很多关于单应性矩阵的求解方法,但都没有说明怎样用四点求解单应性矩阵或者源码详细 ...
- 关于单应性矩阵的理解:Homography matrix for dummies
尽量写的通俗一点,因为从某种程度上讲,本人也是dummy..... 1. 先说homogeneous coordinate,齐次坐标 一幅2D图像上的非齐次坐标为(x,y),而齐次坐标为(x,y,1) ...
- OpenCV-C++实现单应性矩阵的求解
1. 单应性矩阵的理解 1.1 图像层面 单应性矩阵(Homography)约束了同一3D空间点在两个像素平面的2D齐次坐标. 单应性矩阵具有8个自由度,已知A和B两张图像上的四对点,即可列出八个方程 ...
- 齐次坐标和单应性矩阵
齐次坐标主要是应用在矩阵转换中,我们通常运算的坐标系是"笛卡尔坐标系",我们已经习惯了笛卡尔坐标系的表述方式,一个点都有唯一对应的数据值来表示,比如原点我们就记做(0,0)点.而笛 ...
- Homography单应性矩阵程序实现
单应性矩阵重要应用在求解两幅图像的映射关系,或者图像坐标与世界坐标的映射关系. 这里主要在张正有相机标定法的基础上,求解H. 具体理论为请点:相机标定法-张正有 Opencv程序实现 std::vec ...
- 单应性矩阵的相关理解
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zinnc/article/details/52319491 尽量写的通俗一点,因为从某种程度上讲,本 ...
- 单应性矩阵 matlab,四点求解单应性矩阵
网上有很多关于单应性矩阵的求解方法,但都没有说明怎样用四点求解单应性矩阵或者源码详细说明很少.这里说说自己的理解. 首先贴出matlab代码 % 返回值 H 是一个3*3的矩阵 % pts1 和 pt ...
最新文章
- 景德镇陶瓷学院计算机协会,景德镇陶瓷学院计算机协会换届大会总结报告
- sql查询字段的值不为空
- ffmpeg合并音频(转)
- 蔚来汽车回应“十四万元补胎”纠纷:车主未及时报案 除轮胎外底盘也严重受损...
- Python字符串处理的8招秘籍
- BZOJ 3509 分块FFT
- linux没有.brashrc文件,Linux 安装 Redis4.0.6
- 基于SSM的租房管理系统
- 软件设计师--中级 学习笔记(2)
- HTML5七夕情人节表白网页制作【爱情树-Html5实现唯美表白动画代码】HTML+CSS+JavaScript浪漫告白 求婚必备
- 金属胁迫+转录组=高分好文
- Dell 3620 加装SSD遇到的磁盘100%的坑
- tcp 与udp 的区别
- 基于红外遥控的arduino遥控小车
- mysql概念模型中的3种基本联系_在概念模型中,通常用实体联系图表示数据的结构,其 3 个要的元素是( )、( )和( )。_学小易找答案...
- 【OpenCV】图像缩放
- linux忘记密码修改密码_如何更改我的Linux密码
- 15篇电源相关项目和文档,有你想要,点击就送
- Apache Commons 系列简介 之 CLI
- [转]Win7下PEiD已停止工作