test_id_card_ocr.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. 身份证 OCR 识别测试脚本
  5. 使用 PaddleOCR 进行身份证信息提取测试
  6. """
  7. from utils.ocr_utils import extract_id_card_info, extract_text_from_image
  8. import sys
  9. def test_id_card_recognition(image_path):
  10. """测试身份证识别"""
  11. print(f"\n{'='*60}")
  12. print(f"正在识别身份证图片: {image_path}")
  13. print(f"{'='*60}\n")
  14. # 方法1: 提取所有文本
  15. print("方法1: 提取所有文本")
  16. print("-" * 60)
  17. all_text = extract_text_from_image(image_path)
  18. print(all_text)
  19. print()
  20. # 方法2: 直接提取身份证信息
  21. print("方法2: 提取身份证关键信息")
  22. print("-" * 60)
  23. id_info = extract_id_card_info(image_path)
  24. print(f"姓名: {id_info.get('name')}")
  25. print(f"身份证号: {id_info.get('id_number')}")
  26. print()
  27. # 验证结果
  28. if id_info.get('name') and id_info.get('id_number'):
  29. print("✓ 识别成功!")
  30. else:
  31. print("✗ 识别失败,请检查图片质量或格式")
  32. print(f"{'='*60}\n")
  33. if __name__ == "__main__":
  34. if len(sys.argv) < 2:
  35. print("使用方法: python test_id_card_ocr.py <身份证图片路径>")
  36. print("示例: python test_id_card_ocr.py ./test_images/id_card.jpg")
  37. sys.exit(1)
  38. image_path = r'/workspace/campus_activity_system/BaiduHi_2026-8-4_11-9-55.jpg' #sys.argv[1]
  39. test_id_card_recognition(image_path)