仿射变换原理

OpenCV4中没有专门用于图像旋转的函数,而是通过图像的仿射变换实现图像的旋转

简单来说,“仿射变换”就是:“线性变换”+“平移”。

先看什么是线性变换?

线性变换从几何直观有三个要点:

  • 变换前是直线的,变换后依然是直线
  • 直线比例保持不变
  • 变换前是原点的,变换后依然是原点

比如说旋转:

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

仿射变换从几何直观只有两个要点:

  • 变换前是直线的,变换后依然是直线
  • 直线比例保持不变

少了原点保持不变这一条

比如平移:

因此,平移不再是线性变化了,而是仿射变化

线性变换是通过矩阵乘法来实现的,仿射变换不能光通过矩阵乘法来实现,还得有加法

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

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

results matching ""

    No results matching ""