仿射变换和映射变换的区别(详细解释)
·
仿射变换的定义与特点
仿射变换(Affine Transformation)是线性变换(如旋转、缩放、剪切)与平移变换的组合,保持直线的平行性和比例关系。数学上可表示为:
[ \begin{pmatrix} x' \ y' \end{pmatrix}
\begin{pmatrix} a & b \ c & d \end{pmatrix} \begin{pmatrix} x \ y \end{pmatrix} + \begin{pmatrix} e \ f \end{pmatrix} ]
其中,矩阵 (\begin{pmatrix} a & b \ c & d \end{pmatrix}) 控制线性变换,向量 (\begin{pmatrix} e \ f \end{pmatrix}) 控制平移。
关键特性:
- 保持直线和平行性。
- 不保持角度和长度(除非是等距变换)。
- 包含平移、旋转、缩放、反射和剪切。
映射变换的定义与特点
映射变换(Projective Transformation/Homography)是更一般的变换,用于描述三维空间到二维平面的投影或不同视角间的转换。数学上表示为齐次坐标下的线性变换:
[ \begin{pmatrix} x' \ y' \ w' \end{pmatrix}
\begin{pmatrix} h_{11} & h_{12} & h_{13} \ h_{21} & h_{22} & h_{23} \ h_{31} & h_{32} & h_{33} \end{pmatrix} \begin{pmatrix} x \ y \ 1 \end{pmatrix} ]
最终坐标需除以 (w') 得到 ((x'/w', y'/w'))。
关键特性:
- 保持直线的共线性,但不保持平行性。
- 可模拟透视效果(如远小近大)。
- 需要至少4对点求解(仿射变换仅需3对)。
核心区别对比
自由度:
- 仿射变换:6个自由度(矩阵4个参数+平移2个参数)。
- 映射变换:8个自由度(齐次矩阵的9个参数中比例因子固定)。
几何保持性:
- 仿射变换:平行线在变换后仍平行。
- 映射变换:平行线可能相交(如铁轨的透视效果)。
应用场景:
- 仿射变换:适用于物体刚体运动或平面形变(如图像平移、旋转)。
- 映射变换:适用于视角变换、三维投影(如全景拼接、AR标记识别)。
实际应用示例
仿射变换:
- 图像矫正:调整扫描文档的倾斜。
- 2D动画:对图形进行平移和旋转。
映射变换:
- 虚拟现实:将纹理映射到三维模型表面。
- 相机标定:校正镜头畸变后的透视投影。
数学联系
仿射变换是映射变换的特例(当 (h_{31}=h_{32}=0) 且 (h_{33}=1) 时)。两者均可通过矩阵运算实现,但映射变换需处理齐次坐标的非线性除法步骤。
更多推荐


所有评论(0)