缩小图像而不使用循环

时间:2016-01-19 09:39:33

标签: matlab matrix

我有一个Image,我想调整它的大小,所以它将包含1/4 #pixels。

通过选择奇数x像素,然后选择奇数y像素。

通过这种方式很容易完成循环:

[x, y] = size(Image);
DownSizedImage = ones(x/2);

for i=1:2:x
    for j=1:2:y
        DownSizedImage(ceil(i/2),ceil(j/2)) = Image(i,j);
    end
end

例如这个矩阵4X4

Mat = [1, 1, 4, 4;
       7, 5, 1, 3;
       9, 2, 1, 0;
       0, 0, 5, 4;]

DSI = [1 4;
       9 1;]

任何想法如何在没有循环的情况下做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:2)

只需使用:

DownSizedImage = Image(1:2:end,1:2:end);