我有一个布尔映射,因此一个数组只用零和一个。它的尺寸为512x512,我需要将其大小调整为256x256。
如果我使用Matlab imresize,将重新调整值,我将不再只有0和1,还有其他我不想要的值。
我该怎么做?
由于
答案 0 :(得分:2)
一些可能的方法:
放弃偶数索引条目:
map_resize = map(1:2:end, 1:2:end);
丢弃奇数索引条目:
map_resize = map(2:2:end, 2:2:end);
对于每个2×2块,计算均值,然后舍入到0
或1
:
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