Spaces:
Runtime error
Runtime error
| from add_text import add_text | |
| from detect_bubbles import detect_bubbles | |
| from process_bubble import process_bubble | |
| from translator import MangaTranslator | |
| from ultralytics import YOLO | |
| from manga_ocr import MangaOcr | |
| from PIL import Image | |
| import gradio as gr | |
| import numpy as np | |
| import cv2 | |
| MODEL = "model.pt" | |
| EXAMPLE_LIST = [["examples/0.png"], | |
| ["examples/ex0.png"]] | |
| TITLE = "Manga Translator" | |
| DESCRIPTION = "Translate text in manga bubbles!" | |
| def predict(img, translation_method="google", font="fonts/animeace_i.ttf"): | |
| results = detect_bubbles(MODEL, img) | |
| manga_translator = MangaTranslator() | |
| mocr = MangaOcr() | |
| image = np.array(img) | |
| for result in results: | |
| x1, y1, x2, y2, score, class_id = result | |
| detected_image = image[int(y1):int(y2), int(x1):int(x2)] | |
| im = Image.fromarray(np.uint8((detected_image)*255)) | |
| text = mocr(im) | |
| detected_image, cont = process_bubble(detected_image) | |
| text_translated = manga_translator.translate(text, | |
| method=translation_method) | |
| image_with_text = add_text(detected_image, text_translated, font, cont) | |
| return image | |
| demo = gr.Interface(fn=predict, | |
| inputs=["image", | |
| gr.Dropdown([("Google", "google"), | |
| ("Helsinki-NLP's opus-mt-ja-en model", | |
| "hf")], | |
| label="Translation Method", | |
| value="google"), | |
| gr.Dropdown([("animeace_i", ("fonts/animeace_i.ttf")), | |
| ("mangati", "fonts/mangati.ttf"), | |
| ("ariali", "fonts/ariali.ttf")], | |
| label="Text Font", | |
| value="fonts/animeace_i.ttf") | |
| ], | |
| outputs=[gr.Image()], | |
| examples=EXAMPLE_LIST, | |
| title=TITLE, | |
| description=DESCRIPTION) | |
| demo.launch(debug=False, | |
| share=False) | |