chore(docs): document ScoreExtractor tiling and refactor debug scripts (#563)
This commit is contained in:
31
scripts/debug/test_easyocr.py
Normal file
31
scripts/debug/test_easyocr.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import cv2
|
||||
import numpy as np
|
||||
import easyocr
|
||||
import time
|
||||
|
||||
reader = easyocr.Reader(['en'], gpu=False)
|
||||
|
||||
def test_ocr(image_text, img_data):
|
||||
# Upscale 3x to give CRAFT detector enough spatial resolution
|
||||
upscaled = cv2.resize(img_data, None, fx=3, fy=3, interpolation=cv2.INTER_CUBIC)
|
||||
# Pad to make it look like a printed document page
|
||||
padded = cv2.copyMakeBorder(upscaled, 50, 50, 50, 50, cv2.BORDER_CONSTANT, value=[255, 255, 255])
|
||||
|
||||
t0 = time.time()
|
||||
results = reader.readtext(padded, allowlist="0123456789")
|
||||
tf = time.time()
|
||||
|
||||
print(f"[{image_text}] Result: {results} (took {tf-t0:.2f}s)")
|
||||
|
||||
# Generate a tiny "37" (white on black)
|
||||
img_37 = np.zeros((30, 40), dtype=np.uint8)
|
||||
img_37[5:10, 10:20] = 255 # Top of "3"
|
||||
img_37[12:15, 10:20] = 255 # Mid of "3"
|
||||
img_37[20:25, 10:20] = 255 # Bot of "3"
|
||||
img_37[5:10, 25:35] = 255 # Top of "7"
|
||||
img_37[5:25, 30:35] = 255 # Right of "7"
|
||||
|
||||
# Invert it so it's black text on white background (what OCR expects)
|
||||
img_37_inv = cv2.bitwise_not(img_37)
|
||||
|
||||
test_ocr("Tiny 37 Synth", img_37_inv)
|
||||
Reference in New Issue
Block a user