#!/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)