德国著名数学家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,则它的单应矩阵为
对于剩下的两种变换,我们将在后面一篇博客进行介绍。