I would like to get an image mask from the contour (it exists only 1 contour) I have computed thanks to cv.findContours.
However, while my contour variable is not empty, I do not manage to retrieve an image mask using cv.drawContours, my destination image being always empty.
Here is my code:
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)
I hope you could help!
Thanks
解决方案
you are setting color (0,255,0) to the mask, but the mask is single channel so you draw the contour in color 0.
try
cv.drawContours(mask, contours, -1, (255),1)
or
cv.drawContours(mask, contours, -1, (255,255,255),1)