Я хотел бы получить маску изображения из контура (она существует только один контур) Я вычислил благодаря cv.findContours.получить маску из контура с OpenCV
Однако, в то время как моя переменная контур не пуст, не удается получить маску изображения, используя cv.drawContours, мое конечное изображение не всегда пустой.
Вот мой код:
img = mosaicImage[:,:,0].astype('uint8')
contours, _ = cv.findContours(img.copy(), cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
mask = np.zeros(img.shape, np.uint8)
cv.drawContours(mask, contours, -1, (0,255,0),1)
Я надеюсь, что вы могли бы помочь!
Благодаря
маска - одиночный канал. вы пытаетесь установить канал 2 ... попробуйте cv.drawContours (маски, контуры, -1, (255), 1) – Micka
Если вы создаете маску, вы хотите, чтобы заполнить контуры? Вы можете это сделать, изменив последний параметр на drawContours с 1 на -1 – jjinking