漫画图片自动翻译工具。通过 OCR 识别 → 机器翻译 → 图像合成三步流程,将英文漫画自动翻译为中文(或其他语言)并输出合成后的图片。
- OCR 提取 — 基于 Tesseract,支持 block / paragraph / line 三种分组模式,适配漫画气泡
- 自动翻译 — 使用 Bing 翻译,无需 API Key,支持多语言
- 智能合成 — 自动适配字号、居中排版、提取背景色填充原文字区域
- 批量处理 — 支持整个目录一键翻译,支持分步执行(仅 OCR / 仅翻译 / 仅合成)
# Python 依赖
pip install pytesseract pillow numpy requests pandas
# Tesseract OCR 引擎
# Ubuntu / Debian
sudo apt install tesseract-ocr
# macOS
brew install tesseract
# CJK 字体(合成中文需要)
# Ubuntu / Debian
sudo apt install fonts-noto-cjkpython main.py <输入图片> [输出图片] [--from 源语言] [--to 目标语言] [--font 字体路径]示例:
python main.py 10001.png
python main.py 10001.png output.png --to zh-Hans
python main.py 10001.png output.png --from en --to ja --font /path/to/font.ttcpython main_batch.py <输入目录> [输出目录] [选项]选项:
| 参数 | 说明 | 默认值 |
|---|---|---|
--step |
执行步骤:ocr / translate / compose / all |
all |
--group-by |
OCR 分组模式:block / paragraph / line |
block |
--from |
源语言 | en |
--to |
目标语言 | zh-Hans |
--font |
CJK 字体路径 | 自动检测 |
--json-dir |
中间 JSON 存放目录 | <输出目录>/json |
示例:
# 翻译整个目录
python main_batch.py ./comics/ ./comics_cn/
# 仅 OCR 提取,block 分组(推荐用于漫画)
python main_batch.py ./comics/ --step ocr --group-by block
# 跳过 OCR,用已有 JSON 进行翻译
python main_batch.py ./comics/ --step translate --json-dir ./comics/json
# 跳过翻译,用已有 JSON 合成图片
python main_batch.py ./comics/ --step compose# 仅 OCR
python ocr_extract.py <图片> <输出.json> [--group-by block] [--psm 3] [--dpi 300]
# 仅翻译
python translate.py <ocr.json> <translated.json> [--from en] [--to zh-Hans]
# 仅合成
python compose.py <translated.json> <输出图片> [--font 字体路径]输入图片 → OCR 提取文字和坐标 → Bing 翻译 → 合成译文到原图 → 输出图片
↓ ↓
*.ocr.json *.translated.json
- OCR:识别图片中的文字内容及位置坐标,输出 JSON
- 翻译:读取 OCR JSON,调用 Bing 翻译,输出含译文的 JSON
- 合成:读取翻译 JSON,用背景色覆盖原文区域,将译文居中绘制
| 模式 | 说明 | 适用场景 |
|---|---|---|
block |
按文本块分组(一个气泡为一个区域) | 漫画(推荐) |
paragraph |
按段落分组 | 段落式排版 |
line |
按行分组(最细粒度) | 逐行翻译 |
PNG、JPG、JPEG、BMP、WebP、TIFF