Skip to content

emailcannotbeblank/comic_trans

Repository files navigation

Comic Trans

漫画图片自动翻译工具。通过 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-cjk

使用方法

单张图片翻译

python 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.ttc

批量翻译

python 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
  1. OCR:识别图片中的文字内容及位置坐标,输出 JSON
  2. 翻译:读取 OCR JSON,调用 Bing 翻译,输出含译文的 JSON
  3. 合成:读取翻译 JSON,用背景色覆盖原文区域,将译文居中绘制

OCR 分组模式

模式 说明 适用场景
block 按文本块分组(一个气泡为一个区域) 漫画(推荐)
paragraph 按段落分组 段落式排版
line 按行分组(最细粒度) 逐行翻译

支持的图片格式

PNG、JPG、JPEG、BMP、WebP、TIFF

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages