|
仿射(affine)
仿射变换是一个线性变换,变换后保持图形的平直性(直线还是直线),平行性(平行 线变换后还是平行)。仿射变换通过一系列原子变换实现:平移(translation),缩放(scale),翻转(flip),旋转 (rotation), 错切扭曲(sheer)。仿射实际上是在仿射空间中进行,而不是向量空间。仿射空间中的点表示为一个基准点与一个向量的和,这里 不介绍仿射空间, 见http: //courseware.ecnudec.com/zsb/zsx/Zsx08/ZSX089/ZSX08901/zsx089010.htm
对于一维的情况,有仿射变换f(x) = Ax + B
二维一般形式:v = Mw + B
v,w分别为二维空间坐标,M为变换矩阵
[ a0 a1 ]
[ b0 b1 ]
于是有一般形式
[x’] = [ a0x + a1y + a2 ]
[y’] [ b0x + b1y + b2 ]
平移:
M = [ 1 0 ] B为 [dx]
[ 0 1 ] [dy]
旋转:
M = [ cosθ –sinθ]
[ sinθ cosθ ]
扭曲
M = [ 1 ux ]
[uy 1 ]
缩放/伸缩(s1=s2时为缩放)
M = [ s1 0 ]
[0 s2 ]
对于图像处理,仿射变换后的坐标不一定是整数,需要进行灰度插值。
正交(orthogonal)
线性空间中两个向量的内积(几何上可以理解为点乘)为0,称为正交。例如几何上,两个互相垂直的向量为正交,可知正交向量组一定线性无关。用正交矩阵施加 的变换称为正交变换。傅立叶变换,余弦变换,Walsh-Hadamard变换均属于正交变换。详情略,请查阅酉空间变换
双线性(bilinear)
设V是域F的一个线性空间,若
f(k1a1 + k2a2, b) = k1 f(a1, b) + k2f(a2, b)
和f(a, k1b1 + k2b2) = k1f(a,b1) + k2f(a,b2)
则称f是V上的一个双线性函数。
常见的双线性函数形式:f(x,y) = a0 + a1x + a2y + a3xy
例如在图像的双线性插值中便是上述的形式。
透视(perspective)
透视变换是一种几何变换,例如在移动机器人视觉研究中,摄像头和地面有一夹角,而不是垂直投下(正投影), 就需要利用透视变换把其校正成正投影。
具有以下形式:
www.dimcax.com/image/ShowFile1.gif
http://www.ogdev.net/bbs/Upload/2007/3/1/A95874CD-0BEF-44E4-B0F9-5F52BA20B4C6.gif |
|