Files
post-ocr/README.md
empty 0ee00e6be7 refactor: 移除 Web 环境,专注桌面应用,修复 macOS 卡死问题
Web 环境移除:
- 删除 Web 相关文件:src/app.py, heartbeat.py
- 用 requirements-desktop.txt 替换 requirements.txt
- 更新 README.md:移除 Web 界面、部署方案等章节
- 更新技术栈说明:Streamlit → PyQt6
- 添加 usb_bundle/ 到 .gitignore

Desktop 应用改进:
- 重构 OCRService:使用独立 Python 线程替代 QThread
- 添加主线程预加载 paddleocr 模块,修复 macOS 上卡死问题
- 新增离线 OCR 初始化模块(src/ocr_offline.py)
- 新增模型准备脚本(scripts/prepare_models.py)
- 新增摄像头诊断工具(scripts/camera_probe.py)

功能定位:
- Desktop 应用(src/desktop.py):实时摄像头拍照识别
- CLI 批处理(src/main.py):批量处理目录中的图片

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 17:31:05 +08:00

122 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 信封信息提取系统
工厂环境下信封背面信息的自动化提取与结构化录入工具。
## 功能特性
- 自动识别信封图片中的文字信息
- 结构化提取:编号、邮编、地址、联系人、电话
- 支持批量处理,结果导出为 Excel
- 提供桌面应用,支持摄像头实时拍照识别
## 系统要求
| 项目 | 最低配置 | 推荐配置 |
|------|----------|----------|
| CPU | 4 核 | 8 核 |
| 内存 | 4 GB | 8 GB |
| 硬盘 | 2 GB | 5 GB |
| 系统 | Ubuntu 20.04 / Windows 10 | Ubuntu 22.04 |
| Python | 3.8 | 3.10 |
## 快速开始
### 1. 安装依赖
```bash
# Ubuntu 需要安装系统依赖
sudo apt-get install -y libgl1-mesa-glx libglib2.0-0
# 安装 Python 依赖
pip install -r requirements.txt
```
### 2. 运行方式
**命令行批处理**
```bash
# 将图片放入 data/input/ 目录
python src/main.py
# 结果保存在 data/output/result.xlsx
```
**桌面应用**
```bash
python src/desktop.py
# 启动 PyQt6 窗口,可选择摄像头实时拍照识别
```
---
## Windows 桌面离线版zip 目录包)
本项目桌面版入口为 `src/desktop.py`PyQt6 + OpenCV适合现场工位离线使用。
### 1. 准备离线模型(在有网机器执行一次)
```bash
pip install -r requirements.txt
python scripts/prepare_models.py --models-dir models
```
执行完成后会生成 `models/whl/...` 目录结构;该 `models/` 目录需要与最终的 exe 同级分发。
### 2. Windows 打包(建议使用 PyInstaller 的 onedir
请在 Windows 机器上构建 Windows 包(不要跨平台交叉打包)。
```powershell
pip install -r requirements.txt
pip install pyinstaller
pyinstaller --noconfirm --clean --windowed --onedir `
--name "post-ocr-desktop" `
--paths "src" `
--collect-all "Cython" `
--collect-all "paddleocr" `
--collect-all "paddle" `
--add-data "models;models" `
"src/desktop.py"
```
打包完成后,将 `dist\post-ocr-desktop\` 整个目录压缩为 zip 交付即可。
注意:
- 本项目默认使用 PaddleOCR 2.10.0PP-OCRv4 中文)离线模型目录结构
-`models/` 缺失,程序会直接报错提示,避免触发联网下载
## 目录结构
```
post-ocr/
├── data/
│ ├── input/ # 原始图片存放处
│ └── output/ # 结果 Excel 及处理日志
├── src/
│ ├── main.py # 命令行入口
│ ├── desktop.py # 桌面应用入口
│ └── processor.py # 核心处理逻辑
├── requirements.txt
└── README.md
```
## 技术栈
- OCR 引擎: PaddleOCR 2.10 (PP-OCRv4)
- 桌面框架: PyQt6
- 数据处理: Pandas
## 常见问题
**Q: 识别准确率不高怎么办?**
- 确保图片清晰、光线充足
- 避免图片倾斜或模糊
- 手写字体识别率较低,建议使用印刷体
**Q: 处理速度慢?**
- 首次运行需下载模型(约 200MB
- 有 GPU 可安装 paddlepaddle-gpu 加速
- 批量处理时建议使用命令行模式