1.图像的平移
图像的平移就是将图像中所有的点都按照指定的平移量水平、垂直移动。如图4-1所示,设(x0,y0)为原图像上的一点,图像水平平移量为tx,垂直平移量是ty,则平移后点(x0,y0)坐标将变为(x1,y1)。显然(x0,y0)和(x1,y1)的关系如下:
用矩阵表示如下:
对矩阵求逆,可以得到逆变换:
图4-1 图像平移示意图
这样,平移后的图像上的每一点都可以在原图像中找到对应的点。例如,对新图中的(0,0)像素,代入上面的方程组,可以求出对应原图中的像素(-tx,-ty)。如果tx或ty大于0,则点(-tx,-ty)不在原图中。对于不在原图中的点,可以直接将它的像素值统一设置为0或者255(对于灰度图就是黑色或者白色)。同样,若有点不在原图中,也就是说明原图中有点被移出显示区域。如果不想丢失被移出的部分图像,可以将新生成的图像宽度扩大|tx|、高度扩大|ty|。
2.图像的旋转
一般图像的旋转以图像的中心为原点,旋转一定的角度。旋转后,图像的大小一般会改变。和图像平移一样,既可以把转出显示区域的图像截去,也可以扩大图像范围,以显示所有的图像,如图4-2~图4-4所示。
图4-2 旋转前的图像
图4-3 旋转θ后的图像(扩大图像)
图4-4 旋转θ后的图像(转出部分被截去)
下面来推导一下旋转运算的变换公式。如图4-5所示,点(x0,y0)经过旋转θ°后坐标变成(x1,y1)。
在旋转前为
旋转后为
写成矩阵表达式为
图4-5 旋转前的图像
其逆运算如下:
上述旋转是绕坐标轴原点(0,0)进行的,如果是绕一个指定点(a,b)旋转,则先要将坐标系平移到该点,再进行旋转,然后平移回新的坐标原点。
下面首先推导坐标系平移的转换公式。如图4-6所示,将坐标系Ⅰ平移到坐标系Ⅱ处,其中坐标系Ⅱ的原点在坐标系Ⅰ中坐标为(a,b)。
两种坐标系坐标变换矩阵表达式为
其逆变换矩阵表达式为(www.xing528.com)
假设图像为旋转时中心坐标为(a,b),旋转后中心坐标为(c,d)(在新的坐标下,以旋转后新图像左上角为原点),则旋转变换矩阵表达式为
图4-6 坐标系平移示意图
其逆变换矩阵表达式为
即
因此
3.图像的放缩
假设图像x轴方向的缩放比率是fx,y轴方向的缩放比率是fy,那么原图中点(x0,y0)对应于新图中的点(x1,y1)的转换矩阵为
其逆运算如下:
4.图像的镜像变换
设图像高度为lHeight,宽度为lWidth,原图中(x0,y0)经过水平镜像后坐标将变为(lWidth-x0,y0),其矩阵表达式为
逆运算矩阵表达式为
同样,(x0,y0)经过垂直镜像后坐标将变为(x0,lHeight-y0),其矩阵表达式为
逆运算矩阵表达式为
5.图像的转置
转置是指将x、y坐标对换,图4-7的转置图像如图4-8所示。
图4-7 转置之前原图像
图4-8 转置之后的图像
转置的变换矩阵很简单,即
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。