使用双线性插值缩放图像

问题描述:

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

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

我无法得到'for'循环的精确结构。我可以遍历每个元素,但除此之外,我将不得不在每一行水平迭代。任何想法我会如何实现这样的事情? 谢谢!

+0

有你没有使用'imresize'任何理由?如果你的代码不工作,你应该发布它并指出你遇到的具体问题。 – beaker

interp2应该做你想要什么:

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