| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env python3
- """
- OCR验证示例脚本
- 使用VLM(视觉语言模型)对比OCR识别结果和原图,找出差异部分
- """
- import os
- import sys
- from pathlib import Path
- # 添加当前目录到Python路径
- current_dir = Path(__file__).parent
- sys.path.append(str(current_dir))
- from ocr_verification import verify_ocr_with_vlm, analyze_differences
- def main():
- """主函数"""
- # 检查是否存在环境变量
- if not os.getenv("YUSYS_MULTIMODAL_API_KEY"):
- print("错误: 未找到YUSYS_MULTIMODAL_API_KEY环境变量")
- print("请设置你的API密钥:")
- print("export YUSYS_MULTIMODAL_API_KEY='your_api_key_here'")
- return 1
-
- if not os.getenv("YUSYS_MULTIMODAL_API_BASE"):
- print("错误: 未找到YUSYS_MULTIMODAL_API_BASE环境变量")
- print("请设置API基础URL:")
- print("export YUSYS_MULTIMODAL_API_BASE='your_api_base_here'")
- return 1
-
- # 文件路径
- # 注意:这里假设你有利润表的原图,如果没有,请替换为实际的图片路径
- image_path = "至远彩色印刷工业有限公司-2022年母公司_2.png" # 请替换为你的利润表图片路径
- ocr_json_path = "demo_54fa7ad0_page_1.json"
- output_path = "ocr_differences.json"
-
- # 检查文件是否存在
- if not Path(image_path).exists():
- print(f"错误: 找不到图片文件: {image_path}")
- print("请确保图片文件存在,或修改脚本中的image_path变量")
- return 1
-
- if not Path(ocr_json_path).exists():
- print(f"错误: 找不到OCR结果文件: {ocr_json_path}")
- return 1
-
- try:
- print("开始OCR验证...")
- print(f"原图: {image_path}")
- print(f"OCR结果: {ocr_json_path}")
- print(f"输出文件: {output_path}")
- print("-" * 50)
-
- # 进行OCR验证
- result = verify_ocr_with_vlm(image_path, ocr_json_path, output_path)
-
- print("\n" + "="*50)
- print("OCR验证完成!")
- print("="*50)
-
- # 分析差异
- analyze_differences(output_path)
-
- return 0
-
- except Exception as e:
- print(f"OCR验证失败: {e}")
- return 1
- if __name__ == "__main__":
- exit_code = main()
- sys.exit(exit_code)
|