부울 맵을 가지고 있으므로 배열은 0과 1로만 구성됩니다. 크기는 512x512이고 크기를 256x256으로 조정해야합니다.부울 값 맵의 크기 조절
Matlab imresize를 사용하면 값의 크기가 조정되어 더 이상 0과 1뿐만 아니라 원하지 않는 다른 값도 가지지 않게됩니다.
어떻게하면됩니까?
감사 기본적으로
부울 맵을 가지고 있으므로 배열은 0과 1로만 구성됩니다. 크기는 512x512이고 크기를 256x256으로 조정해야합니다.부울 값 맵의 크기 조절
Matlab imresize를 사용하면 값의 크기가 조정되어 더 이상 0과 1뿐만 아니라 원하지 않는 다른 값도 가지지 않게됩니다.
어떻게하면됩니까?
감사 기본적으로
__ = imresize(___,method) specifies the interpolation method used.
는 imresize은 바이 큐빅 보간을 사용합니다. 이 경우 '가장 가깝습니다'라고 잘못 입력하지 않으면 작동합니다. https://www.mathworks.com/help/images/ref/imresize.html#inputarg_method
또한 2 가지 가능성이 있습니다. 하나는 두 번째 값을 건너 뛰거나 크기 조정 된지도의 결과를 0/1로 반올림하는 것이고, 어떤 경우에는 더 정확한 결과를 얻을 수 있어야합니다. –
몇 가지 가능한 접근 방법 :
폐기 짝수 항목 :
map_resize = map(1:2:end, 1:2:end);
폐기 홀수 인덱스 항목 : 각 2 × 2의
map_resize = map(2:2:end, 2:2:end);
블록은 평균과 t를 계산한다. 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;
무엇 원래 맵에 대응하는 2 × 2 윈도우 2^4 개 개의 가능한 값 각각에 대한 상기 매핑 된 배열의 값이되어야 하는가? – beaker