图像的几何运算主要是指,引起图像几何形状发生变化的变化,包括图像缩放、旋转、裁剪等。其主要用途是,对图像进行几何校正、空间旋转,在遥感图像的图像配准过程中也有很重要应用。
1.图像插值
图像插值是指,根据原始图像像素来估计周围点的像素值。在Matlab中主要提供了三种插值方法:最近邻插值(nearest)、双线性插值(bilinear)、双三次插值(spline)。在这三种方法中,最近邻插值计算量最小、效果最差;双三次插值计算量最大、效果最好;双线性插值介于两者之间。
在Matlab中,可以通过调用interp2函数来实现对二位图像的插值。其语法结构为:I=interp2(X,Y,I1,XI,YI,method),其中X,Y表示图像I1的横坐标和纵坐标,XI,YI表示插值后的横坐标和纵坐标,method表示插值的方法。
2.图像缩放
图像缩放是指,保持原有图像形状的基础上对图像的大小进行扩大或缩小。其实现函数为imresize。该函数的调用语法为I=imresize(I1,scale,method)。表示对图像I1用method的方法(nearest、bilinear、spline),进行扩大(缩小)了scale倍。
3.图像旋转
所谓的图像旋转是指,使图像做一定角度的转动。可以通过imrotate函数来进行图像的旋转,其语法格式为:I=imrotate(I1,angle,method,bbox)。I1表示进行旋转的图像,angle表示旋转的角度,method表示插值方法,bbox表示旋转后图像的显示方式。(bbox有两种选择,默认是“loose”,旋转后的图像在原图大小背景下显示;另一种是“crop”,旋转后的图像与原图像一样大小。)
4.图像裁剪
图像裁剪是指,将图像不需要的部分切除,只保留感兴趣的部分。可以用imcrop函数来实现对图像的裁剪。其调用语法为:I=imcrop或I=imcrop(I,rect)。第一种调用语法表示交互式图像裁剪,即将图像先显示出来,然后通过鼠标在图像上选取感性趣部分;第二种调用语法中,用rect来规定裁剪区域,如:
rect=[75 68 100
150],第一、二个数表示裁剪区域的左上角坐标,第三、四个数表示裁剪区域的长和宽。