调整布尔映射的大小

时间:2017-04-24 09:44:35

标签: matlab boolean matlab-figure

我有一个布尔映射,因此一个数组只用零和一个。它的尺寸为512x512,我需要将其大小调整为256x256。

如果我使用Matlab imresize,将重新调整值,我将不再只有0和1,还有其他我不想要的值。

我该怎么做?

由于

2 个答案:

答案 0 :(得分:2)

一些可能的方法:

  • 放弃偶数索引条目:

    map_resize = map(1:2:end, 1:2:end);
    
  • 丢弃奇数索引条目:

    map_resize = map(2:2:end, 2:2:end);
    
  • 对于每个2×2块,计算均值,然后舍入到01

    map = randi([0 1], 6, 6); % example input
    sz = size(map);
    map_resize = col2im(mean(im2col(map, [2 2], 'distinct'), 1), [1 1], sz/2) >= .5;
    

答案 1 :(得分:1)

<errorMail from="foo"
           to="foo"
           subject="My Exception - {0}"
           async="false"           
           smtpServer="foo"
           userName="foo"
           password="foo">
</errorMail>

默认情况下,imresize使用双三次插值。 如果我没有弄错'最近'应该适用于这种情况。 https://www.mathworks.com/help/images/ref/imresize.html#inputarg_method