五分钟读完一篇文章之仿射变换

仿射变换(Affine Transformation)作为图像图形学领域常用的一种变换模型,主要描述一种二维坐标点对之间线性变换, 它保持二维图形的“平直性”(straightness,即变换后直线还是直线)和“平行性”(parallelness,即变换后平行线还是平行线)。

仿射变换的定义

五分钟读完一篇文章之仿射变换

仿射变换通过一系列原子变换的复合来实现,其中包括:尺度(Scale,也叫“缩放”)、旋转(Rotation)、平移(Translation)和偏移(Shear,也叫“剪切”)。同时值得注意的是,三对不共线的二维对应坐标点之间确定唯一的仿射变换。

五分钟读完一篇文章之仿射变换

仿射变换可以分解为一个线性变换接上一个平移变换组成(显然,仿射变换不符合“齐次可加性”),所以仿射变换是线性变换的超集。

五分钟读完一篇文章之仿射变换

一般情况下,为了计算方便(将平移分量融入仿射变换矩阵)会使用齐次坐标,将原二维坐标增加一个维度,所以大部分情况下仿射变换的变换矩阵如上公式所示,从公示中可以很清晰的看出其含有六个*度(a,b,c,d,e,f)

仿射变换的参数估计
因为仿射变换矩阵含有六个*度,所以理论上讲我们至少需要三对不共线的二维对应坐标点,才可以求解仿射变换矩阵(单个二维坐标点含有x分量与y分量,可以列出两个线性方程)。当多对坐标点求解时构成超定方程组,可以基于最小二乘或者SVD等方法进行求解。

与透视(投影)变换的区别
仿射变换是一种二维坐标到二维坐标之间的映射,而透视(投影)变换是将目标投影到一个新的平面,它是二维(x,y)空间到三维(X,Y,Z)空间,再到另一个二维(x’,y’)空间的映射。

总结
图像方面仿射变换的详细介绍可以参考:数字图像处理(冈萨雷斯-第三版)。