齐次坐标

透视投影(Perspective Projection)变换推导

﹥>﹥吖頭↗ 提交于 2020-01-06 04:32:41
透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。 没错,主流的3D APIs如OpenGL、D3D的确把具体的透视投影细节封装起来,比如gluPerspective(„) 就可以根据输入生成一个透视投影矩阵。而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。但是你不觉得,如果想要成为一个职业的图形程序员或游 戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地 方全部找到,但是你现在找到了)。 我们首先介绍两个必须掌握的知识。有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考 可以找到一组坐标(v1,v2,v3),使得 v = v1 a + v2 b + v3 c (1) 而对于一个点p,则可以找到一组坐标(p1,p2,p3),使得 p –

图像拼接:理论

匿名 (未验证) 提交于 2019-12-03 00:22:01
(1)图像配准:相对配准和绝对配准(先定义一个控制网格) 基于灰度信息(互相关法(模板匹配),序贯相似度检测匹配法,交互信息),基于变换域,基于特征 (2)图像中的其次坐标:黎曼几何 向量 v 以及基 oabc , 可以找到一组坐标 (v1,v2,v3) ,使得 v a v3 ( 1 ) 而对于一个 点 p ,则可以找到一组坐标( p1,p2,p3 ),使得 p o b ( 2 ), 从上面对 向量 和 点 的表达,我们可以看出为了在坐标系中表示一个 点 (如 p ),我们把点的位置看作是对这个基的原点 o 所进行的一个位移,即一个向量- p - o (有的书中把这样的向量叫做 位置向量 - 起始于坐标原点的特殊向量),我们在表达这个向量的同时用等价的方式表达出了点 p: o b c(3) (1)(3) 的英文坐标系下表达一个 向量 状语从句: 点 的不同表达方式。这里可以看出,虽然都是用代数分量的形式表达向量和点 ,但表达一个点比一个向量需要额外的信息 。如果我写出一个代数分量表达 ( 1,4,7 ) ,谁知道它是个向量还是个点! 我们现在把( 1 )( 3 )写成矩阵的形式: v =(v1 v2 v3 0)X(abco) p=(p1 p2 p3 1)X(abco), 这里 (a,b,c,o) 是坐标基矩阵,右边的列向量分别是向量 v 和点 p 在基下的坐标。 这样