MangaTranslator / process_bubble.py
georgescutelnicu's picture
Upload 13 files
6add590 verified
import cv2
import numpy as np
def process_bubble(image):
"""
Processes the speech bubble in the given image, making its contents white.
Parameters:
- image (numpy.ndarray): Input image.
Returns:
- image (numpy.ndarray): Image with the speech bubble content set to white.
- largest_contour (numpy.ndarray): Contour of the detected speech bubble.
"""
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)
largest_contour = max(contours, key=cv2.contourArea)
mask = np.zeros_like(gray)
cv2.drawContours(mask, [largest_contour], -1, 255, cv2.FILLED)
image[mask == 255] = (255, 255, 255)
return image, largest_contour