实现几何运算时,有两种方法:向前映射法,向后映射法
向前映射法:将输入图像的灰度一个像素一个像素地转移到输出图像中,即从原图像坐标计算出目标图像坐标,平移、镜像等操作可以采用这种方法。
向后映射法:它是向前映射变换的逆,即输出像素一个一个地映射回输入图像中,缩放、旋转等操作可采用此种方法。
插值:如果一个输出图像映射到的不是输入图像的采样栅格的整数坐标的像素点,则其灰度值就需要基于整数坐标的灰度值进行推断
最邻近插值:这是一种最简单的插值算法,输出像素的值为输入图像中与其最邻近的采样点的像素值。
双线性插值:又称一阶插值,是线性插值拓展到二维的一种应用。他可以通过一系列的一阶线性插值得到。
高阶插值:高阶插值通常用卷积来实现,输出像素的值为输入图像中距离他最近的4*4邻域内采样点像素的加权平均值
matlab实现
A=imread('pout.tif');
B=imrotate(A,30,'nearest');
C=imrotate(A,30,'bilinear');
D=imrotate(A,30,'bicubic');
%图像旋转30度的插值方法比较
subplot(2,2,1),imshow(A);
title('原图像');
subplot(1,3,1),imshow(B);
title('最邻近插值');
subplot(1,3,2),imshow(C);
title('双线性插值');
subplot(1,3,3),imshow(D);
title('三次插值');