Маска региона в центре - Matlab - PullRequest
0 голосов
/ 22 декабря 2018

В приведенном ниже сценарии я создаю маску на основе координат и строю их в исходном положении, а также начиная с позиции 0,0.Как построить другой центр маски (mask1venter) по центру?

Код:

xCoord = [354 500 100 363];
yCoord = [309 500 600 360];

if max(xCoord)>max(yCoord)
     matrixLength = max(xCoord);
 else
     matrixLength = max(yCoord);
end

xCoordMin = xCoord-min(xCoord);
yCoordMin = yCoord-min(yCoord);

xCoordCenter = xCoord-round((max(xCoord))/2);
yCoordCenter = yCoord-round((max(yCoord))/2);

mask1 = poly2mask(yCoord,xCoord,matrixLength,matrixLength);
mask1Min = poly2mask(yCoordMin,xCoordMin,matrixLength,matrixLength);
mask1Center = poly2mask(yCoordCenter,xCoordCenter,matrixLength,matrixLength);

imshowpair(mask1,mask1Min)

1 Ответ

0 голосов
/ 22 декабря 2018

Вы можете использовать субплот, добавить две маски или логическое ИЛИ две маски

Подплот

figure
subplot(2,2,1)
imshow(mask1)
subplot(2,2,2)
imshow(mask1Min)
subplot(2,2,3)
imshow(mask1Center)

subplot result

Добавьте два изображения

figure
imshowpair(mask1,mask1Min + mask1Center)

add result

Логическое ИЛИ две маски

figure
imshowpair(mask1,mask1Min | mask1Center)

logical OR result

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...