使用双线性插值来放大图像

时间:2017-09-06 01:41:26

标签: matlab loops image-processing

目标是在MATLAB上使用双向线性插值将32x32图像缩放为512x512图像。

这基本上意味着将32x32图像中的每个像素映射到512x512(因为512/32 = 16)图像上的每十六个像素,并且第一个像素和十六个像素之间的每个像素的强度是线性间隔的强度上升从第一个像素到十六个的值。

我无法获得'for'循环的准确结构。我可以遍历每个元素,但除此之外,我必须在每一行中水平迭代。知道如何实现这样的东西吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

interp2应该做你想做的事:

img32 = rand(32); % your image
[Xq, Yq] = ndgrid(linspace(1, 32, 512)); % query coordinate into 1:32
img512 = interp2(img32, Xq, Yq);