1. 几何变换
图像的几何变换是指将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置,其实质是改变像素的空间位置,估算新空间位置上的像素值。几何变换不改变图像的像素值,只是在图像平面上进行像素的重新安排。
以下是常用的几种几何变换:
旋转:将图像旋转指定角度。
缩放:按缩放因子调整图像大小,使其变大或变小。
平移:将图像从当前位置移动到新位置。
错切:沿特定轴倾斜图像。
仿射变换:一个更广泛的类别,包括单个变换中的缩放、旋转、错切和平移。
透视变换:此变换模拟 3D 空间中的透视效果,允许进行更复杂的操作,例如校正由摄像机角度引起的扭曲。
几何变换通常使用数学函数和变换矩阵来实现。这些矩阵定义了原始图像中的每个像素如何映射到转换图像中的新位置。
2. 仿射变换
2.1 仿射变换
图像处理中的仿射变换是指对图像进行一次线性变换和平移,将其映射到另一个图像空间的过程。仿射变换可以保持图像的“平直性”,即直线经过仿射变换后依然为直线,平行线经过仿射变换后依然为平行线。
通常,使用 2x3 大小数组 M 来进行仿射变换。数组由两个矩阵 A、B 组成,其中矩阵 A(大小为2x2)用于矩阵乘法,矩阵 B(大小为2x1)用于向量加法。
原像素点坐标(x,y),经过仿射变换后的点的坐标是(u,v),则矩阵仿射变换基本算法原理:
其数学表达式如下:
其中:
和 代表缩放系数,控制图像在水平和垂直方向上的缩放。
和 代表错切系数,控制图像的水平和垂直错切。
和 代表平移系数,控制图像在水平和垂直方向上的平移。
由于缩放和旋转是通过矩阵乘法来实现,平移是通过矩阵加法来实现的,将这几个操作都用一个矩阵实现所以构造出上面的 2x3 矩阵 M。
仿射变换是从二维坐标到二维坐标之间的线性变换,且为了保持二维图像的“平直性”和“平行性”。我们需要引入齐次坐标的概念,最终得到的齐次坐标矩阵表示形式为:
2.2 齐次坐标
在数学里,齐次坐标(homogeneous coordinates),或投影坐标(projective coordinates)是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿