Как я могу изменить размер маски с помощью OpenCV Python? - PullRequest
0 голосов
/ 24 июня 2018

Я хотел бы получить маску для небольшого (измененного размера) изображения (800x600).Затем я хотел бы изменить размер маски и применить ее к большему изображению (3000x2000).Какова была бы лучшая практика для этой цели?

Без изменения размера она работает нормально следующим образом, где mask - это 800x600

mask2 = np.where((mask==1) + (mask==3),255,0).astype('uint8')
output = cv.bitwise_and(img2,img2,mask=mask2)

При изменении размера я также вижу прямоугольник (нежелательный), который янарисовали только изображение, но не маску.mask - это 800x600, а mask2 и img3 - 3000x2000

mask2 = cv.resize(mask,dsize=(ih,iw),interpolation=cv.INTER_CUBIC)
mask3 = np.where((mask2==1) + (mask2==3),255,0).astype('uint8')
output = cv.bitwise_and(img3,img3,mask=mask3)

Я хотел бы знать, связана ли проблема с cv.resize.

Есть изображениядва выхода.Правильный вывод:

Correct output

Неправильный вывод (см. Прямоугольник вокруг лица):

Wrong Output

...