【问题标题】:Using Bi-Linear interpolation to scale an image up使用双线性插值放大图像
【发布时间】:2017-09-06 01:41:26
【问题描述】:

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

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

我无法获得“for”循环的准确结构。我可以遍历每个元素,但除此之外,我还必须水平遍历每一行。知道我将如何实现这样的事情吗? 谢谢!

【问题讨论】:

  • 您有什么理由不使用imresize?如果您的代码不起作用,您应该发布它并指出您遇到的具体问题。

标签: matlab loops image-processing


【解决方案1】:

interp2 应该做你想做的事:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-14
    • 2018-03-19
    • 2016-10-07
    • 2014-06-03
    • 2014-11-26
    • 1970-01-01
    • 2021-05-23
    • 2020-05-20
    相关资源
    最近更新 更多