djscanlation / process_bubble.py
maggidev's picture
Update process_bubble.py
9f9ed53 verified
raw
history blame contribute delete
611 Bytes
import cv2
import numpy as np
def extract_bubble_mask(image):
"""
Extrai a máscara da bolha e seu contorno principal.
"""
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
_, thresh = cv2.threshold(gray, 240, 255, cv2.THRESH_BINARY)
contours, _ = cv2.findContours(
thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE
)
if not contours:
return None, None
largest_contour = max(contours, key=cv2.contourArea)
mask = np.zeros(gray.shape, dtype=np.uint8)
cv2.drawContours(mask, [largest_contour], -1, 255, cv2.FILLED)
return mask, largest_contour