3.2 KiB
3.2 KiB
KOCR v4 — 金蝶 K3 凭证 OCR 填表工具
特性
- 自动调参: 自动分析照片亮度/阴影/模糊度,按类型(闪光灯/偏暗/模糊/正常)选择最优参数
- 双管线识别: 优先 PPStructure TableMaster 表格识别,失败回退 DB+SVTR
- 大小写金额交叉验证: 中文大写→数字转换,自动比对合计金额
- 交错匹配: dr1, cr1, dr2, cr2... 完美处理金额比科目多的场景
- 多页凭证合并: 按 (日期, 凭证号) 自动合并,借贷汇总校验
- 外置配置: 所有参数写在
config.yaml,部署只需改这一个文件
快速开始
1. 安装依赖
cd kocr-v4
pip install -r requirements.txt
如需 GPU 加速(RTX 3060+ 推荐):
pip install paddlepaddle-gpu==2.6.1 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
2. 准备模板
将金蝶 K3 导入模板 .xls 文件放到项目根目录,或在 config.yaml 中配置 paths.template 路径。
3. 放照片
将凭证照片放到 input/ 目录。
4. 运行
# 批量处理所有新照片(自动调参 + 自动归档)
python3 kocr.py
# 查看状态
python3 kocr.py --status
# 批量 + 合并 + 校验报告
python3 kocr.py --merge --review
# 指定配置文件
python3 kocr.py --config my-config.yaml
# 单张处理
python3 kocr.py IMG_001.jpg --verbose
# 强制重新处理
python3 kocr.py --force
5. 输出
output/凭证名_K3.xls— 每张凭证独立 Exceloutput/合并凭证_按顺序.xls— 多张合并(需--merge)output/校验报告.txt— 数据校验报告(需--review)
配置
所有可调参数都在 config.yaml,包括:
- photo_analysis: 照片类型检测阈值(亮度/模糊/阴影)
- preprocessing: 图像预处理参数(缩放/去噪/去阴影/锐化)
- preprocessing.photo_type_overrides: 按照片类型覆盖预处理参数
- ocr: OCR 检测/识别参数(det_db_thresh, unclip_ratio 等)
- ocr.photo_type_overrides: 按照片类型覆盖 OCR 参数
- postprocessing: 校验参数(借贷平衡容差等)
- paths: 输入输出路径
部署时只需调整 config.yaml 中的参数,无需改代码。
文件结构
kocr-v4/
├── kocr.py # CLI 主入口
├── config.yaml # 外置配置中心(所有可调参数)
├── core/
│ ├── preprocessor.py # 图像预处理 + 自动调参(analyze_image)
│ ├── recognizer.py # OCR 识别(TableMaster + DB+SVTR)
│ ├── parser.py # K3 凭证解析器
│ ├── postprocessor.py # 后处理(字符纠错 + 大小写校验 + 验证)
│ └── excel_writer.py # Excel 模板填充 + 合并
├── dict/
│ └── finance_dict.txt # 自定义财务字典
├── script/
│ └── deploy.sh # 一键部署脚本
├── requirements.txt # 依赖清单
└── README.md # 本文件
版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| v4.0 | 2026-06-22 | 自动调参 + 大小写校验 + 外置配置 + Gitea 版本控制 |
| v3.x | 2026-06 | 交错匹配 + 多页合并 + 智能去重 |