Hệ thống tự động hóa dịch truyện tranh / Manhwa / Webtoon offline: Tải ảnh từ URL chapter, tự động cắt lát Webtoon dài, detect bong bóng thoại + vùng chữ, xóa chữ thông minh (smart inpaint), nhận diện chữ đa ngôn ngữ (OCR), và chèn bản dịch qua giao diện web local với bảng chọn màu linh hoạt.
stroke_width) giúp chữ đọc rõ trên mọi nền chuyển màu (gradient).ring_range > 30) để chuyển sang AI LaMa, triệt tiêu hoàn toàn lỗi tô mảng màu thô.data/output/<chapter_id>/ theo đúng thứ tự liên tục (page_000.png, page_001.png, page_002.png…).# 1. Tạo và kích hoạt môi trường ảo (Virtual Environment)
python -m venv venv
# Trên Windows Command Prompt / PowerShell:
venv\Scripts\activate
# Trên Linux / macOS:
source venv/bin/activate
# 2. Cài đặt các thư viện phụ thuộc
pip install -r requirements.txt
# 3. Cài đặt Chromium cho Playwright (để crawl ảnh từ các site render bằng JS)
playwright install chromium
models/)Hệ thống cần 3 file mô hình ONNX trong thư mục models/:
models/bubble_yolo.onnx — Nhận diện bong bóng thoạipip install ultralytics
python convert_model.py models/comic-speech-bubble-detector.pt
# Đổi tên file output thành bubble_yolo.onnx và chuyển vào thư mục models/
models/text_segmenter.onnx — Nhận diện vùng chữpython convert_model.py models/comic-text-segmenter.pt
# Đổi tên file output thành text_segmenter.onnx và chuyển vào thư mục models/
models/lama.onnx — Mô hình Xóa chữ (Inpainting AI)lama_fp32.onnx từ Carve/LaMa-ONNX (HuggingFace), đổi tên thành lama.onnx và đặt vào thư mục models/..ttf tiếng Việt vào đường dẫn: app/static/fonts/default.ttf.python run.py
http://127.0.0.1:8000 trên trình duyệt.ja, Tiếng Hàn korean, Tiếng Trung ch, Tiếng Anh en), bấm “Tải chapter”. Tool sẽ tự động cắt lát Webtoon dài thành từng trang vừa vặn.data/output/<chapter_id>/ sẽ tự động cập nhật đầy đủ 100% tất cả các trang theo đúng thứ tự (page_000.png, page_001.png…).manga-translator/
├── app/
│ ├── config.py # Các hằng số cấu hình (đường dẫn, ngưỡng tự động, slicing...)
│ ├── main.py # FastAPI server và toàn bộ API RESTful
│ ├── pipeline.py # Điều phối luồng xử lý đa luồng & đồng bộ thư mục Output
│ ├── downloader/ # Bộ crawl & cắt ảnh Webtoon tự động (slicer.py, generic_js.py)
│ ├── detector/ # YOLO detector & khoanh vùng an toàn viền bóng thoại
│ ├── inpaint/ # Smart Ring-Sampling Inpainter & LaMa AI ONNX
│ ├── ocr/ # Bộ đọc OCR với Tiền xử lý tương phản CLAHE & Đảo màu chữ
│ ├── render/ # Động cơ chèn chữ tự động căn cỡ & chọn màu tương phản
│ └── static/, templates/ # Giao diện Web Vanilla JS + CSS responsive
├── data/
│ ├── raw/<chapter_id>/ # Ảnh gốc đã tải & ảnh sau khi cắt lát
│ ├── processed/<chapter_id>/# Ảnh đã tẩy sạch chữ (clean) + manifest.json
│ └── output/<chapter_id>/ # Bộ ảnh thành phẩm đầy đủ thứ tự 100% trang
├── models/ # Nơi đặt 3 file mô hình ONNX (bubble_yolo, text_segmenter, lama)
├── run.py # Script khởi chạy ứng dụng uvicorn
└── requirements.txt # Danh sách thư viện phụ thuộc