使用OpenCV从轮廓中获取掩码

时间:2015-09-04 15:37:33

标签: python opencv mask contour

我想从轮廓中获取一个图像蒙版(它只存在1个轮廓)我已经计算了cv.findContours。

但是,虽然我的轮廓变量不为空,但我无法使用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)

我希望你能帮忙!

由于

1 个答案:

答案 0 :(得分:2)

您正在为遮罩设置颜色(0,255,0),但遮罩是单通道,因此您可以使用颜色0绘制轮廓。

 cv.drawContours(mask, contours, -1, (255),1)

 cv.drawContours(mask, contours, -1, (255,255,255),1)