如何在Matlab中插入上采样图像?

时间:2017-02-27 18:58:01

标签: matlab image-processing interpolation

如果我对这样的图像进行上采样:

A = imread('cameraman.tif');

M = 2;
N = 3;

B = zeros([size(A,1)*M size(A,2)*N]);
B(1:M:end,1:N:end) = A;

然后如何在Matlab中插入B来填充零?

1 个答案:

答案 0 :(得分:1)

我相信您可以通过使用新定义的网格调用interp2来完成此操作。 E.g。

im = imread('cameraman.tif');
im = im2double(im);

M = 2;
N = 3;

x = linspace(1, size(im, 2), size(im, 1)*N);
y = linspace(1, size(im, 1), size(im, 2)*M);

[xs, ys] = meshgrid(x, y);

new_im = interp2(im, xs, ys, 'cubic');