Spaces:
Build error
Build error
try: | |
from paddleocr import PaddleOCR | |
import re | |
ocr = PaddleOCR(use_angle_cls=True, lang='en') | |
except Exception as e: | |
print(f"❌ PaddleOCR failed to load: {e}") | |
ocr = None | |
def extract_weight_from_image(image): | |
if ocr is None: | |
return ("OCR not initialized", 0.0) | |
result = ocr.ocr(image, cls=True) | |
debug_texts = [] | |
if not result or not result[0]: | |
return ("No weight detected", 0.0) | |
for line in result[0]: | |
text, confidence = line[1][0], line[1][1] | |
debug_texts.append(f"{text} (Conf: {confidence:.2f})") | |
# Regex: number with optional kg/g | |
match = re.search(r'(\d+\.?\d*)\s*(kg|g)?', text.lower()) | |
if match: | |
weight = match.group(1) | |
unit = match.group(2) if match.group(2) else "g" | |
return (f"{weight} {unit}", confidence) | |
print("🧪 OCR DEBUG:") | |
for t in debug_texts: | |
print(t) | |
return ("No weight detected", 0.0) | |