学习问题:图像内插-最近邻内插法

来源:互联网 发布:17网广州网络批发市场 编辑:程序博客网 时间:2024/05/20 22:28

主要参考以下博客。

图像内插-最近邻内插法 - CSDN博客 http://blog.csdn.net/ilyhlf5201314/article/details/10713297

http://blog.csdn.net/andrew659/article/details/4818988

一、数学原理

     当一幅二维数字图像从源图像N*M被放为(j*N) * (k*M)目标图像是,参照数学斜率计算公式

     必然有: (X1 – Xmin)/(Xmax - Xmin) = (Y1 - Ymin)/(Ymax-Ymin)

     当Xmin 和 Ymin均为从零开始的像素点时,公式可以简化为:X=Y1 (Xmax/Ymax)

     对于任意一幅源图像来说,假设放大后目标图像的宽为Dw高为Dh,任意目标像素点(Dx, Dy)

     在源图像上的位置为:

      Sx= Dx * (Sh/Dh) // row

      Sy= Dy * (Sw/Dw) // column

     最简单的图像缩放算法就是最近邻插值。顾名思义,就是将目标图像各点的像素值设为源图像中与其最近的点。假设源图像的宽度和高度分别为w0和h0, 缩放后的目标图像的宽度和高度分别为w1和h1, 那么比例就是float fw = float(w0)/w1; float fh = float(h0)/h1; 对于目标图像中的(x,y)点坐标对应着源图像中的(x0, y0)点。其中:x0 = int(x*fw), y0 = int(y*fh)



因为是在学MATLAB imresize函数时用到了,所以学了一下。MATLAB运行了一下,感觉并不是自己的理解(捂脸哭),,,还请各位看到的指教。谢谢