华严经卷23 多版本字图对照 Web 系统,用于佛教古籍的版本对勘研究。
系统将 7 个藏经版本(丽增、思溪、福州、宫内厅、京都、嘉莲、金藏)的经页扫描图按字切割,与对勘文本逐字对齐,实现字图一一对应的可视化对照。
- 多版对照(
/visual)— 7 个版本逐字字图并排对比,异文自动高亮,支持在线编辑校正和 ZIP 导出 - 单版字图(
/viewer/<版本>)— 单个版本的字图网格浏览,点击字符查看原始经页定位 - 文字对比(
/comparison)— 纯文字多版本逐字对照表,快速浏览异文 - 字图下载 — 导出 ZIP 包含自包含 HTML 对照表(图片 base64 内嵌)+ CSV + 编辑记录
字图对照系统/
├── app.py # Flask 主应用(路由、API、下载)
├── config.py # 版本配置(路径、页码范围、缩写映射)
├── requirements.txt # Python 依赖
├── Dockerfile # 容器化部署
├── src/ # 核心模块
│ ├── ocr_parser.py # OCR JSON 解析,提取正文字符(过滤注音、侧注、中缝)
│ ├── char_mapper.py # 对勘文本 ↔ OCR 字符的逐字映射(SequenceMatcher 对齐)
│ ├── image_utils.py # 坐标缩放 + 批量字符裁切
│ ├── text_align.py # 多版本文本对齐(以丽增为参考,双序列合并为对齐矩阵)
│ └── variant_table.py # 异体字归一化映射表(提高对齐精度)
├── scripts/
│ └── preprocess.py # 一键预处理(OCR提取 → 字符映射 → 批量裁切 → 多版本对齐)
├── templates/ # Jinja2 模板
│ ├── base.html # 公共布局(导航栏)
│ ├── index.html # 首页(版本概览 + 快速入口)
│ ├── visual.html # 多版对照页(字图网格 + 编辑 + 下载)
│ ├── viewer.html # 单版字图浏览器
│ └── comparison.html # 文字对比页
├── static/
│ ├── css/style.css # 全局样式
│ └── js/ # 前端脚本
├── 华严经-卷23-7个版本/ # 原始数据:7个版本的经页扫描图 + OCR JSON
│ ├── 丽增/
│ ├── 思溪/
│ ├── 福州/
│ ├── 宫内厅/
│ ├── 京都/
│ ├── 嘉莲/
│ └── 金藏/
├── 华严经-卷23-对勘文本/ # 各版本对勘文本(手工校对的纯文字)
└── output/ # 预处理产物(自动生成)
├── alignment.json # 多版本对齐矩阵
├── char_map_*.json # 各版本字符映射
├── crops/ # 裁切字图(按版本分目录)
└── edits.json # 用户编辑记录
- Python 3.10+
- 原始数据(经页扫描图 + OCR JSON + 对勘文本)
pip install -r requirements.txt首次运行需执行预处理,生成字符映射、裁切字图和对齐矩阵:
python scripts/preprocess.py处理流程:OCR 解析 → 字符映射 → 批量裁切 → 多版本对齐
python app.pydocker build -t char-image-system .
docker run -p 5000:5000 char-image-system经页扫描图 + OCR JSON 对勘文本(手工校对)
│ │
▼ │
ocr_parser.py │
提取正文字符 │
(过滤注音/侧注/中缝) │
│ │
▼ ▼
char_mapper.py
SequenceMatcher 逐字对齐
│
┌──────────┼──────────┐
▼ ▼ ▼
char_map image_utils text_align.py
字符映射 批量裁切字图 多版本对齐矩阵
│ │ │
└──────────┼──────────┘
▼
output/ 目录
供 Web 系统使用
| 版本 | 缩写 | 页数 | 说明 |
|---|---|---|---|
| 丽增 | lz | 20 | 参考版本(对齐基准) |
| 思溪 | sx | 38 | |
| 福州 | fz | 24 | |
| 宫内厅 | gn | 58 | |
| 京都 | jd | 26 | |
| 嘉莲 | jl | 106 | |
| 金藏 | zc | 25 |
| 端点 | 方法 | 说明 |
|---|---|---|
/api/crop/<version>/<idx> |
GET | 获取裁切字图 |
/api/page_image/<version>/<page> |
GET | 获取经页原图 |
/api/alignment |
GET | 获取对齐矩阵数据 |
/api/edit |
POST | 保存字符编辑 |
/api/edit/undo |
POST | 撤销编辑 |
/api/edits |
GET | 查看所有编辑记录 |
/api/download |
GET | 下载字图 ZIP 包 |