IDP-Machine-learning / test_easyocr.py
mrrobot2610's picture
Initial commit: IDP (Intelligent Document Processing) System
1a7ee60
Raw History Blame Contribute Delete
1.59 kB
#!/usr/bin/env python3
"""
Test EasyOCR initialization and functionality
"""
# Fix for TensorFlow mutex warnings on macOS
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
os.environ['OMP_NUM_THREADS'] = '1'
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import warnings
warnings.filterwarnings('ignore')
import sys
import numpy as np
import cv2
print("Testing EasyOCR integration...")
print("=" * 60)
try:
from ocr_engine import LightweightOCR
print("\n1. Importing LightweightOCR... βœ“")
print("\n2. Initializing EasyOCR engine...")
ocr = LightweightOCR(lang='en', use_gpu=False)
print(" βœ“ EasyOCR initialized successfully!")
print("\n3. Creating dummy image for testing...")
# Create a white image with black text "Hello World"
image = np.ones((100, 300, 3), dtype=np.uint8) * 255
cv2.putText(image, 'Hello World', (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 2)
print(" βœ“ Dummy image created")
print("\n4. Running OCR extraction...")
result = ocr.extract_text(image)
print(f" βœ“ Extraction complete!")
print(f" Extracted text: '{result['text']}'")
if "Hello" in result['text'] or "World" in result['text']:
print(" βœ“ Text verification passed!")
else:
print(" ⚠ Text verification warning: Expected 'Hello World', got something else")
print("\n" + "=" * 60)
print("βœ… ALL TESTS PASSED!")
print("=" * 60)
except Exception as e:
print(f"\n❌ ERROR: {str(e)}")
import traceback
traceback.print_exc()
sys.exit(1)