import subprocess,re,sys,os def ocr(img,crop,psm=11): import tempfile; t=tempfile.mktemp(suffix='.png'); subprocess.run(['ffmpeg','-loglevel','error','-y','-i',img,'-vf',f'crop={crop},scale=iw*4:-1',t]); return subprocess.run(['tesseract',t,'-','--psm',str(psm)],capture_output=True,text=True).stdout def labels(img): out={} for k,c in (('top','215:180:425:0'),('bot','215:150:425:180')): s=ocr(img,c).replace(' ','') out[k]=re.findall(r'(\d{5})\s*(CE|PE)',s) s=ocr(img,'215:12:425:0',7)+' '+ocr(img,'215:12:425:180',7); out['hdr']=s.replace('\n',' ')[:160] return out if __name__=='__main__': for f in sys.argv[1:]: print(f,labels(f))