chore(docs): document ScoreExtractor tiling and refactor debug scripts (#563)

This commit is contained in:
2026-03-29 17:57:40 +09:00
parent 39b55f2e9f
commit ac0c098259
698 changed files with 141180 additions and 195 deletions

View 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)