一. 图像几何变换概述
图像几何变换是指用数学建模的方法来描述图像位置、大小、形状等变化的方法。在实际场景拍摄到的一幅图像,如果画面过大或过小,都需要进行缩小或放大。如果拍摄时景物与摄像头不成相互平行关系的时候,会发生一些几何畸变,例如会把一个正方形拍摄成一个梯形等。这就需要进行一定的畸变校正。在进行目标物的匹配时,需要对图像进行旋转、平移等处理。在进行三维景物显示时,需要进行三维到二维平面的投影建模。因此,图像几何变换是图像处理及分析的基础。
二. 几何变换基础
1. 齐次坐标:
齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行几何变换。齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示。例如二维点p(x,y)->p(x,y,1)就成了齐次坐标,同理三维点p(x,y,z)->p(x,y,z,1)也成了齐次坐标;
齐次坐标的使用,使得几何变换更容易计算,尤其对于仿射变换(二维/三维)更加方便;由于图形硬件、视觉算法已经普遍支持齐次坐标与矩阵乘法,因此更加促进了齐次坐标使用,使得它成为图形学中的一个标准;后面提到的几何变换都以齐次坐标和齐次变换矩阵为基础。
2. 点与向量的其次变换:
从普通坐标转换成齐次坐标时(以三维点为例)
如果(x,y,z)是个点,则变为(x,y,z,1);
如果(x,y,z)是个向量,则变为(x,y,z,0)。
从齐次坐标转换成普通坐标时(以三维点为例)
如果是(x,y,z,1),则知道它是个点,变成(x,y,z);
如果是(x,y,z,0),则知道它是个向量,仍然变成(x,y,z)。
3. 齐次变换矩阵(以平移为例):
以点p(x,y)为例,如果想把它平移(a,b),至p'(x+a,y+b),是不可能用矩阵计算完成的,现在换成齐次坐标(x,y,1),通过矩阵相乘(下图左侧公式) ,很方便得到平移后的坐标(x+a,y+b)。为了保持一致把矩阵改成 右侧矩阵,这就是齐次变换矩阵。
三. 图像中的几何变换
1. 相似变换:
定义:由一个平面/立体图形变换到另一个平面/立体图形,在改变的过程中保持形状不变(大小方向和位置可变),这样的变换叫相似变换;任何相似变换都可以分解为等比例缩放、平移、旋转的组合;
举例:对于缩放来说,齐次变换矩阵如下表示(二维和三维),其中a≠0。
2. 仿射变换:
定义:由一个平面/立体图形变换到另一个平面/立体图形,在改变的过程中保持直线和平行线不变(平行线映射为平行线);任何仿射变换都可以分解为缩放、平移、旋转和切变(Shearing)的组合;
举例:对于仿射变换,齐次变换矩阵如下表示(二维和三维)。
对于仿射变换,有两个比较特殊的变换:非等比例缩放和切变(如下图);
除了以上两个特殊的变换之外,相似变换可以看做是仿射变换的特殊情况;
注:线性变换包括旋转、缩放、切变,但不包含平移,因此仿射变换也定义为一个线性变换再加
上一个平移变换。
3. 投影变换:
定义:变换过程中,直线映射为直线(不一定保证平行度);
任何二维投影变换都可以用3x3可逆矩阵表示(齐次坐标);任何三维投影变换都可以用4x4可逆矩阵表示(齐次坐标)。
从定义来看,仿射变换可以看做是投影变换的特殊形式;把投影变换矩阵的最后一行变为[0,0,1]或者
[0,0,0,1],即可变为仿射变换矩阵,也可以证明仿射变换是投影变换的特殊形式;因此,对于平移、缩放、切变等,仿射变换和投影变换都可以实现。
四. 试验结果:
1. 2D仿射变换举例:比如下左图,通过2D仿射变换,缩放,旋转,平移之后得到变换矩阵对该图片进行校正后的图像如右图:
2. 3D投影变换举例:
比如下左图,通过3D投影变换,平移之后得到变换矩阵对该图片进行校正后的图像如右图:
参考文献: