|
|
2 ヶ月 前 | |
|---|---|---|
| .vscode | 2 ヶ月 前 | |
| image_edit | 2 ヶ月 前 | |
| ocr_vlm_verify | 2 ヶ月 前 | |
| .env.example | 2 ヶ月 前 | |
| README.md | 2 ヶ月 前 | |
| compare_ocr_results.py | 2 ヶ月 前 | |
| ocr_by_vlm.py | 2 ヶ月 前 |
一个基于视觉语言模型(VLM)的OCR识别与验证系统,专门用于处理财务报表、数据表格等文档的OCR识别和结果对比验证。
# 创建conda环境
conda create -n py312 python=3.12 -y
conda activate py312
#
git config --local user.name "zhch158_admin"
git config --local user.email "zhch158@sina.com"
# 自定义缓存时间(如7200秒)
git config --global credential.helper 'cache --timeout=7200'
# 克隆项目
git clone https://gitee.com/zhch158_admin/ocr_verify.git
cd ocr_verify
# 安装依赖
pip install openai python-dotenv beautifulsoup4 markdown
复制 .env 文件并配置您的API密钥:
cp .env.example .env
# 编辑.env文件,配置相应的API密钥
支持的API提供商:
使用 ocr_by_vlm.py 进行图片OCR识别:
# 标准OCR识别(启用数字标准化)
python ocr_by_vlm.py image.png -o output/
# 禁用数字标准化
python ocr_by_vlm.py image.png --no-normalize
# 批量标准化已有文件
python ocr_by_vlm.py --batch-normalize ./markdown_files/ -o ./normalized/
# 自定义参数
python ocr_by_vlm.py image.png -t 0.05 -m 8192 --timeout 300
参数说明:
-o, --output:输出目录-t, --temperature:生成温度(默认0.1)-m, --max-tokens:最大token数(默认4096)--timeout:超时时间(默认180秒)--no-normalize:禁用数字标准化--batch-normalize:批量标准化模式使用 compare_ocr_results.py 对比两个OCR结果:
# 基本对比
python compare_ocr_results.py file1.md file2.md
# 指定输出格式和文件名
python compare_ocr_results.py file1.md file2.md -o comparison_result -f both
# 生成详细报告
python compare_ocr_results.py file1.md file2.md --ignore-images
输出格式:
查看 ocr_vlm_verify 目录了解升级后的验证功能:
# 运行高精度验证演示
cd ocr_vlm_verify
python quick_demo.py
# 查看升级对比说明
cat README_Upgrade_Comparison.md
ocr_verify/
├── .env # 环境变量配置
├── README.md # 项目说明文档
├── ocr_by_vlm.py # 主OCR识别脚本
├── compare_ocr_results.py # 结果对比工具
├── ocr_vlm_verify/ # 升级版验证系统
│ ├── ocr_verification.py # 高级验证功能
│ ├── quick_demo.py # 功能演示
│ ├── simple_ocr_test.py # 简化测试
│ └── README_Upgrade_Comparison.md # 升级说明
├── sample_data/ # 测试样本数据
├── output/ # 输出结果目录
├── image_edit/ # 图片处理工具
自动处理以下格式转换:
# 识别财务报表图片
python ocr_by_vlm.py 财务报表.png -o output/
# 对比两个版本的识别结果
python compare_ocr_results.py output/财务报表.md reference/标准版本.md -o 对比报告
# 批量标准化已有的Markdown文件
python ocr_by_vlm.py --batch-normalize ./原始文件/ -o ./标准化文件/
系统经过全面升级,主要改进包括:
详细升级内容请查看 README_Upgrade_Comparison.md
项目包含预配置的VSCode调试配置,请参考 launch.json:
{
"configurations": [
{
"name": "Python Debugger: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}",
"env": {"PYTHONPATH":"${workspaceFolder};${env:PYTHONPATH}"},
"envFile": "${workspaceFolder}/.env",
"justMyCode": false
}
]
}
查看 comparison_result.md 了解详细的对比报告格式。
本项目采用开源许可证,具体请查看项目根目录的LICENSE文件。