1 ,插值算法(3 种): (1)最邻近插值(近邻取样法): 最邻近插值的的思想很简单,就是把这个非整数坐标作一个四舍五入,取最近的整数点坐标处的点的颜色
可见,最邻近插值简单且直观,速度也最快,但得到的图像质量不高
最邻近插值法的MATLAB 源代码为: A = imread('F:\lena
jpg');%读取图像信息 imshow(A); %显示原图 title('原图128*128'); Row = size(A,1); Col = size(A,2);%图像行数和列数 nn=8;%放大倍数 m = round(nn*Row);%求出变换后的坐标的最大值 n = round(nn*Col); B = zeros(m,n,3);%定义变换后的图像 for i = 1 : m for j = 1 : n x = round(i/nn); y = round(j/nn);%最小临近法对图像进行插值 if x==0 x = 1; end if y==0 y = 1; end if x>Row x = Row; end if y>Col y = Col;end B(i,j,:) = A(x,y,:); end end B = uint8(B);%将矩阵转换成8位无符号整数 figure; imshow(B); title('最邻近插值法放大8倍1024*1024'); 运行程序后,原图如图 1 所示: 图1 用最邻近插值法放大4 倍后的图如图2 所示: 图2 (2)双线性内插值法: 在双线性内插值法中,对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v),其中i、j 均为非负整数,u、v 为[0,1)区间的浮点数,则这个像素得值 f(i+u,j+v) 可由原图像中坐标为 (i,j)、(i+1,j