仿射变换原理
OpenCV4中没有专门用于图像旋转的函数,而是通过图像的仿射变换实现图像的旋转
简单来说,“仿射变换”就是:“线性变换”+“平移”。
先看什么是线性变换?
线性变换从几何直观有三个要点:
- 变换前是直线的,变换后依然是直线
- 直线比例保持不变
- 变换前是原点的,变换后依然是原点
比如说旋转:


简单讲一下旋转是怎么实现的,可以让我们进一步了解代数是怎么描述线性变换的



仿射变换从几何直观只有两个要点:
- 变换前是直线的,变换后依然是直线
- 直线比例保持不变
少了原点保持不变这一条
比如平移:

因此,平移不再是线性变化了,而是仿射变化
线性变换是通过矩阵乘法来实现的,仿射变换不能光通过矩阵乘法来实现,还得有加法



因为我们表示仿射变换为:







实现函数的旋转,首先需要确定旋转角度和旋转中心,之后确定旋转矩阵,最终通过仿射变换实现图像旋转