欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

最邻近插值法(The nearest interpolation)实现图像缩放

发布时间:2025/3/15 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 最邻近插值法(The nearest interpolation)实现图像缩放 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
也称零阶插值。它输出的像素灰度值就等于距离它映射到的位置最近的输入像素的灰度值。但当图像中包含像素之间灰度级有变化的细微结构时,最邻近算法会在图像中产生人为加工的痕迹。 具体计算方法:对于一个目的坐标,设为 M(x,y),通过向后映射法得到其在原始图像的对应的浮点坐标,设为 m(i+u,j+v),其中 i,j 为正整数,u,v 为大于零小于1的小数(下同),则待求象素灰度的值 f(m)。利用浮点 m 相邻的四个像素求f(m)的值。
  • 1
  • 2
  • 3
function re_im = nearest(im, p, q) %最邻近插值法,输入目标图像和行缩放、纵缩放倍数 %ziheng 2016.3.27 [m,n] = size(im); im_R = im(:,:,1); im_G = im(:,:,2); im_B = im(:,:,3); l = round(m*p); h = round(n*q)/3; re_R = uint8(zeros(l,h)); re_G = uint8(zeros(l,h)); re_B = uint8(zeros(l,h)); for dstx = 1:lfor dsty = 1:hsrcx = max(1,min(m,round(dstx/p)));srcy = max(1,min(n/3,round(dsty/q)));re_R(dstx,dsty) = im_R(srcx,srcy);re_G(dstx,dsty) = im_G(srcx,srcy);re_B(dstx,dsty) = im_B(srcx,srcy);end end re_im = cat(3,re_R,re_G,re_B); figure,imshow(re_im);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
http://blog.csdn.net/tianxiaov/article/details/51112928

总结

以上是生活随笔为你收集整理的最邻近插值法(The nearest interpolation)实现图像缩放的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。