如果我对这样的图像进行上采样:
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
来填充零?
答案 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');