德国著名数学家Felix Klein在他的Erlangen纲领中提出:“几何就是研究变换中的不变性的学科。”事实上,几何变换在几何的研究中占有重要地位。也是图形学应用的基础。下面我们就对常用的几何变换进行介绍:
欧氏变换
提到几何变换,最先想到的就是图形的平移和旋转,图形的平移和旋转统称为图形的欧氏变换,一个典型的欧氏变换如下图:
可以看到,从左边的正方形变成右边的正方形分为两步。一是将它沿着某方向进行平移。这一步可以用一个向量t = [x,y]T来进行表示。t表示的平移的方向和长度。二是将它绕中心旋转一定的角度α。这一步可以用一个矩阵
来表示。
由此,左边正方形上一点x和右边正方向上一点x′满足关系x′=Rx+t
使用齐次坐标,我们可以将R和t合成一个3X3的矩阵H来简化运算。
H又称为单应性矩阵。欧氏变换在变换前后保证了线段长度的不变性。
单应矩阵
事实上,对于任意的一种几何变换,我们都可以找到一个矩阵,使得变换前后的对应点x,x′满足x′=Hx。
同样的,对于变换前后的两幅图像,我们可以通过取多对对应点的坐标,得到它们的单应矩阵H,这在图形学和计算机视觉的很多方面都用应用。
由于x′、x都是齐次坐标表示,由上一节我们知道(x,y,1)和(2x,2y,2)表示同一个点。因此对单应矩阵乘一个系数k不会改变变换关系。即对任意k∈R,k≠0,kH与H是等价的。对3X3的平面单应矩阵,它的自由度为8。
显然,H是一个可逆矩阵,对H求逆得到了H的逆变换,即x=H−1x′。
同时可以看到由于采用了齐次坐标,对逆变换的求解也大大的简化了。以欧氏变换为例。由于x′=Rx+t,有x=R−1(x′−t)=R−1x′−R−1t,由此得到的逆变换为R′=R−1,t′=−R−1t。这就使得计算不是那么的统一。
其他的几种变换
其他的几种变换包括相似变换,仿射变换,射影变换。其中相似变换就是在欧氏变换的基础上增加了对图形的缩放。一个典型的相似变换如下:
设缩放系数为s,则它的单应矩阵为
对于剩下的两种变换,我们将在后面一篇博客进行介绍。