2D射影几何和变换
阅读《计算机视觉中的多视图集合》
2D射影几何和变换
2D射影平面
本章的关键是理解线和点的对偶性。从射影平面模型出发,IP^2^内的点(a, b ,c)由IP^3^空间中一条过原点的射线k(x1, x2, x3)^T^表示。点采用的是齐次坐标表示,具有相同比例,不同缩放因子的表示都是同一个点,就像射线也可以用同比例,不同缩放因子的向量表示一样。
射影变换projectivity
- 射影映射,也叫保线变换,或者射影变换,或者单应(homography),都是同义词,其性质是保线性,即直线变换之后还是直线。 可以用一个8自由度的三维非奇异矩阵H表示。
- 只需要4个任意三点不共线的点即可以求得射影变换H,然后求得逆矩阵H^-1^即可以消除射影变换H带来的变化。
- 透视变换,也即中心投影,是射影变换的一种,它的特点是:连接对应的直线共点。透视变换的复合不再是透视变换,但还会是射影变换。
如果有一个射影变换H,点x变换之后为Hx,那么在同样的变换下,直线I变换为H^-T^I。我们称点的变换为逆变,线的变换为协变。
变换的层次
如下表,下层的都是上层变化的特例。

另外还有一个透视变换perspectivity,它是射影变换的一个特例,与仿射变换affine的区别:
- 透视变换可以用于把3D变成2D,而仿射变换都是2D平面
- 透视变换可以有切变shareing
- 仿射变换的右下角必须为1,而透视不会
- 如果是两个平面的投射,且都是Euclidean坐标,那么透视变换也只有6个自由度
透视变换与射影变换的区别:
- 多个透视变换的组合还会是射影变换,但一般不会是透视变换
- 透视变换中,连接原始点和透视点的所有连线交于一点,这也即是中心投影的含义。
从图线恢复仿射和度量性质
重要概念
- 理想点:在齐次表示法中,最后坐标为0,比如二维坐标中的\(x_3=0\),的点即为理想点,也即无穷远点,通用表达为\((x_1, x_2, 0)^T\)
- 无穷远线:用符号\(I_{\infty}\)表示,\(I_{\infty}=(0,0,1)^T\),显然,\((0,0,1)(x_1, x_2, 0)^T=0\),即理想点和无穷远线相交
- 消影线:无穷远线被影像到像平面的直线
- 虚圆点:在\(I_{\infty}\)上有两个不动点\(I=(1,i,0)\)和\(J=(1,-i,0)\),这两个点是不动点的冲要条件为相似变换,\(I'=H_SI=I\),\(J'=H_SJ=J\),\(H_S\)表示相似变换矩阵, 即经过相似变换,他们的坐标不变。
与虚圆点对偶的二次曲线:记为\(C^*_{\infty}\),\(C^*_{\infty}=IJ^T+JI^T=\begin{bmatrix} 1 & 0 &0 \\ 0 & 1 & 0\\ 0& 0 & 0 \end{bmatrix}\)。同理,根据对偶定理,二次曲线\(C^*_{\infty}\)为不动曲线的冲要条件为变换为相似变换。
直接从透视图像恢复
对应的书本中的例 1.26。
- 假设有任意射影变换H
- 根据书中结论1.23,找到五组世界平面中相互正交的直线对,找到他们在变换之后的图像中的对应像直线,即可以求得经过变换H之后的\(C^*_{\infty}\)的像\(C^{*'}_{\infty}\)
根据结论1.24,对\(C^{*'}_{\infty}\)进行SVD分解,即可得到一个变换U,用这个U对像进行校正,就会得到一个与H变换之前只相差一个相似变换的结果。这样我们就可以根据相似变换的不动量特性来测量某些数据。
分层法恢复
- 在世界平面中平行的两组平行线,找到他们在像中的对应线,然后找到他们的交点,两组平行线就会有两组交点,根据平行线交于无穷远点的理论,这两个交点的连线就是消影线。然后根据公式1.18就可以得到一个变换H,可以把像变换到和世界平面只差一个仿射变换
在已经只存在仿射变换的图像中,找到两对在世界平面中正交的直线的像,然后根据结论1.23就可以求出仿射变换矩阵K。这个K把一个与世界平面只差一个相似变换的平面变换到当前仿射变换图像。
2D射影几何和变换的更多相关文章
- transform的2D和3D变换
transform取值 none:默认值,即是无转换 matrix(,,,,,): 以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a,b,c,d,e,f] ...
- CSS3 2D Transform
在 一个二维或三维空间,元素可以被扭曲.移位或旋转.只不过2D变形工作在X轴和Y轴,也就是大家常说的水平轴和垂直轴:而3D变形工作在X轴和Y轴之外, 还有一个Z轴.这些3D变换不仅可以定义元素的长度和 ...
- SVG坐标系统及图形变换
前面的话 前面介绍过SVG视野后,本文将开始介绍SVG坐标系统及图形变换 坐标定位 对于所有元素,SVG使用的坐标系统或者说网格系统,和Canvas用的差不多(所有计算机绘图都差不多).这种坐标系统是 ...
- CSS3总结七:变换(transform)
2D视图模型解析 3D视图模型解析 平移 旋转 伸缩 扭曲 z轴方向平移与perspective的神秘关系 matrix()终极变幻的方法 一.2D视图 2D视图就是默认平面上的每个点都与视线垂直,图 ...
- CS(计算机科学)知识体
附 录 A CS( 计算机科学)知识体 计算教程 2001 报告的这篇附录定义了计算机科学本科教学计划中可能讲授的知识领域.该分类方案的依据及其历史.结构和应用的其 ...
- CSS3变形记(上):千变万化的Div
传统上,css就是用来对网页进行布局和渲染网页样式的.然而,css3的出现彻底打破了这一格局.了解过css3的人都知道,css3不但可以对网页进行布局和渲染样式,还可以绘制一些图形.对元素进行2D和3 ...
- 优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码)。
在您阅读本文前,先需要告诉你的是:即使是本文优化过的算法,DCT去噪的计算量依旧很大,请不要向这个算法提出实时运行的苛刻要求. 言归正传,在IPOL网站中有一篇基于DCT的图像去噪文章,具体的链接地址 ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数017·point点函数
<zw版·Halcon-delphi系列原创教程> Halcon分类函数017·point点函数 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“p ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数015,vector矢量
<zw版·Halcon-delphi系列原创教程> Halcon分类函数015,vector矢量 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“p ...
随机推荐
- 【3y】从零单排学Redis【青铜】
前言 只有光头才能变强 最近在学Redis,我相信只要是接触过Java开发的都会听过Redis这么一个技术.面试也是非常高频的一个知识点,之前一直都是处于了解阶段.秋招过后这段时间是没有什么压力的,所 ...
- 异步多线程 Async
进程:进程是一个程序在电脑运行时,全部资源的合集叫进程 线程:是程序的最小执行单位,包含计算资源,任何一个操作的响应都是线程完成的. 多线程:多个线程并发执行 Thread 是.net框架封装 ...
- c# 事件的订阅发布Demo
delegate void del(); class MyClass1 { public event del eventcount;//创建事件并发布 public void Count() { ; ...
- 适配器模式(Adapter Pattern)
适配器模式概述 定义:将一个类的接口转化成客户希望的另一个接口,适配器模式让那些接口不兼容的类可以一起工作.别名(包装器[Wrapper]模式) 它属于创建型模式的成员,何为创建型模式:就是关注如何将 ...
- HTML文档编写规范
(1)HTML标记是由尖括号包围的关键词.所有标记均以“<”开始,以“>”结束.结束的标记在开始名称前加上斜杠“/”.例如头部标记格式如下所示:<head> ……</he ...
- emacs 高亮
用途:让某个单词高亮显示 1,安装 m-x 回车,输入list-packages 在列表中找到highlight-symbol后,鼠标点击它,再点击安装 2,在.emacs中配置 ;;高亮 (requ ...
- shell 简单脚本编程
shell脚本编程 编译器,解释器 编程语言: 机器语言,汇编语言,高级语言 静态语言:编译型语言 强类型(变量) 事先转换成可执行格式 C,C++,JAVA,C# 动态语言:解释型语言,on the ...
- ceph 高级运维
追查系统故障,需要找到问题的根源安置组和相关的OSD. 一般来说,归置组卡住时 ceph 的自修复功能往往无能为力,卡住的状态细分为: 1. unclean 不干净:归置组里有些对象的复制数未达到期望 ...
- Cesium3DTileset示例
3D Tiles是Cesium中很核心的一部分,尤其是用来实现大范围的模型场景数据的加载应用. 三维倾斜模型.人工建模.BIM模型等等,都可以转换成3D Tiles,进而为我们所用. 从Cesium1 ...
- SOAP webserivce 和 RESTful webservice 对比及区别(转载)
简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传 ...