Files
Pier_v1/pierzainer_ground/verify_pdf_label_crops.py
T

19 lines
992 B
Python

"""Visual QA of decoded labels against the unchanged original PDF raster."""
import json
from pathlib import Path
from PIL import Image,ImageDraw
folder=Path(__file__).resolve().parent/'data/output/samples_20261102/03_대호지교'
tokens=json.loads((folder/'decoded_soundings_text.json').read_text(encoding='utf-8'))['tokens']
image=Image.open(folder/'original_plan_highres.png')
chosen=[tokens[i] for i in range(0,len(tokens),max(1,len(tokens)//24))][:24]
sheet=Image.new('RGB',(960,24//4*140),'white');draw=ImageDraw.Draw(sheet)
for i,token in enumerate(chosen):
x0,y0,x1,y1=token['bbox'];scale=1200/72
box=(int((x0-1)*scale-333),int((y0-1)*scale-5166),int((x1+1)*scale-333),int((y1+1)*scale-5166))
crop=image.crop(box).convert('RGB');crop.thumbnail((225,105))
x=(i%4)*240;y=(i//4)*140
sheet.paste(crop,(x,y));draw.text((x+8,y+111),f"decoded {token['text']}",fill='black')
sheet.save(folder/'decoded_labels_visual_qa.png')
print(folder/'decoded_labels_visual_qa.png')