Spaces:
Sleeping
Sleeping
| 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 | |