一 图像几何变换
几何畸变校正一般要使用几何(坐标)变换,包括平行移动、旋转、扩大缩小等简单的变换。同时,图像处理时,往往会遇到需要对图像进行放大、缩小、旋转等操作。这节课我们来讲解图像的几何变换,主要涉及到图像的缩放、旋转和平移。
**一、基础知识
- 图像变换类型:
从变换的性质分, 图像的几何变换有平移、比例缩放、旋转、反射和错切等基本变换,透视变换等复合变换,以及插值运算等。几何变换是将图像的坐标进行变换,这些几何变换可以用统一的数学模型来描述,我们先来认识一个概念,叫齐次坐标**
2. 齐次坐标
将2D 图像中的点坐标(x, y) 表示成齐次坐标(Hx, Hy, H),当H=1 时,则(x, y, 1)就称为点(x, y)的规范化齐次坐标。规范化齐次坐标的前两个数是相应二维点的坐标, 没有变化,仅在原坐标中增加了H=1 的附
加坐标。由点的齐次坐标(Hx, Hy, H)求点的规范化齐次坐标(x, y, 1),可按如下公式进行:
齐次坐标的几何意义相当于点(x, y)落在3D 空间H=1 的平面上, 如果将XOY 平面内的三角形abc 的各顶点表示成齐次坐标(xi, yi, 1)(i=1, 2, 3)的形式,就变成H=1 平面内的三角形a1b1c1 的各顶点。
3. 二维图像几何变换的矩阵
刚才提到几何变换可以用统一的数学模型来描述,该模型如下面的矩阵T 所示,
1 、图像比例缩放
图像比例缩放变换:指将给定的图像在x 轴方向按比例缩放fx 倍,在y 轴方向上按比例缩放fy 倍,从而获得一幅新的图像。比例缩放前后两点P0(x0, y0)、P(x, y)之间的关系用矩阵形式可以表示为:
在图像放大的正变换中,出现了很多的空格。因此,需要对放大后所多出来的一些空格填入适当的像素值。一般采用最邻近插值和线性插值法。
小变大需要插值
2、图像平移
图像平移变换:图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像与原图像相同。
利用齐次坐标,变换前后图像上的点P0(x0, y0)和P(x, y)之间的关系可以用如下的矩阵变换表示为
3 、图像镜像
图像的镜像变换不改变图像的形状。图像的镜像(Mirror)变换分为水平镜像和垂直镜像。
设原图宽为w,高为h,变换后,图的宽和高不变。
水平镜像的变化矩阵为:
垂直镜像的变化矩阵为:
4、图像旋转变换
一般图像的旋转是以图像的中心为原点,旋转一定的角度,即将图像上的所有像素都旋转一个相同的角度。
图像的旋转变换也可以用矩阵变换表示。设点P0(x0, y0)旋转a 角后的对应点为P(x, y)。
利用公式进行图像旋转正变换时需要注意如下两点:
1、为了避免图像信息的丢失,图像旋转后必须进行平移变换。
2、图像旋转之后,会出现许多空洞点,如图所示,我们需要对这些空洞点必须进行填充处理,否则图像旋转后的效果不好,需要做插值处理,可采用行或列插值方法。最简单的插值方法是,图像旋转前某一点(x, y)的像素点颜色,除了填充在旋转后坐标(x’,y’)上外,还要填充(x’+1,y’)和(x’, y’+1)。
其逆运算为:
图像绕任意点旋转:上述的旋转是绕坐标轴原点(0,0)进行的,如果是绕某一个指定点(a,b)旋转,则先要将坐标系平移到该点,再进行旋转,然后将旋转后的图像平移回原坐标系。例如,我们这里以图像的中心为旋转中心:
绕任一点(x0,y0)的旋转变换公式为
绕点 O 的二维旋转