Я использовал метод адаптивного порога для создания изображения, подобного приведенному ниже:
Код, который я использовал, был:
image = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 45, 0)
Затем я использую этот код для получения контуров:
cnt = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)[0]
Моя цель - создать маску, используя все пиксели внутри внешнего контура, поэтому я хочу заполнить все пиксели внутри объекта, который будет белым. Как я могу это сделать?
Я попытался создать код ниже, чтобы создать маску, но результирующая маска не отличается от изображения после применения адаптивного порога
mask = np.zeros(image.shape[:2], np.uint8)
cv2.drawContours(mask, cnt, -1, 255, -1)