import sys
sys.path.insert(0, ".")
from pathlib import Path
from PIL import Image
import src.common.vision_ocr as vision_ocr

images = [
    "captures/pipeline_run/20260920_055832_346_STAGE2_MAP_DEVICE_VIEW.png",
    "captures/pipeline_run/20260920_055839_600_STAGE2_MAP_DEVICE_VIEW_APPROACH_AVOID.png",
    "captures/pipeline_run/20260920_055841_377_STAGE2_MAP_DEVICE_VIEW_APPROACH_1.png",
    "captures/pipeline_run/20260920_055843_157_STAGE2_MAP_DEVICE_VIEW_APPROACH_2.png",
    "captures/pipeline_run/20260920_055844_935_STAGE2_MAP_DEVICE_VIEW_APPROACH_3.png",
    "captures/pipeline_run/20260920_055845_801_STAGE2_MAP_DEVICE_HOVERED.png",
]

for p_str in images:
    p = Path(p_str)
    if not p.exists():
        print(f"NOT FOUND: {p}")
        continue
    img = Image.open(p)
    res = vision_ocr.safe_recognize_pil_sync(img)
    lines = res.get("lines", [])
    print(f"=== {p.name} ===")
    for l in lines:
        for w in l.get("words", []):
            t = w.get("text", "")
            upper = t.upper()
            if any(k in upper for k in ["MAP", "DEVICE", "ANGE", "WAYPOINT", "WELL", "COSMETICS"]):
                r = w.get("bounding_rect", {})
                print(f"  {t} -> x={r.get('x')}, y={r.get('y')}, w={r.get('width')}, h={r.get('height')}")
