【发布时间】:2015-03-05 09:05:06
【问题描述】:
我正在尝试复制矩阵或图像中的每个元素,并尝试将图像的大小增加 4。这意味着行和列的大小增加了一倍。
我正在尝试通过使用 for 循环而不是数组索引来做到这一点。这是我目前所拥有的。
function output = zoomx(img)
[r,c] = size(img);
output = img(r,c);
[r1, c1] = size(output);
for x = 1:r1
for y = 1:c1
j = 4*x;
i = 4*y;
output(j,i) = img(x,y);
end
end
end
到目前为止,我要做的是遍历我的输出矩阵,并将每个元素乘以 4,但我得到的只是一个巨大的零矩阵,新矩阵中的每个元素间隔 4每个元素之间的零和零的行和列。
对此的任何帮助将不胜感激!
谢谢。
【问题讨论】:
-
我不明白。您想让输出图像比输入图像大 4 倍吗?
-
是的,这就是我想要做的!
-
@LuisMendo - 呵呵没问题我的朋友。 FWIW,第一眼我也错过了。
-
你可以使用
for n=1, output = kron(ones(2), img); end:-P -
如果需要填充4个像素,需要做4个赋值。
标签: image matlab image-processing