File size: 842 Bytes
c8cdee4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"""Recognize one image locally and write UTF-8 text and JSON."""
import argparse
import json
from pathlib import Path
from PIL import Image
from runtime.engine import OCR


def main():
    p=argparse.ArgumentParser(description=__doc__)
    p.add_argument('image',type=Path)
    p.add_argument('--backend',choices=['cpu','gpu','auto'],default='cpu')
    p.add_argument('--output',type=Path,default=Path('result.txt'))
    args=p.parse_args()
    with Image.open(args.image) as image:r=OCR(backend=args.backend).recognize(image,include_images=False)
    args.output.write_text(r['full_text']+'\n',encoding='utf-8')
    args.output.with_suffix('.json').write_text(json.dumps(r,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
    print(f'Saved {args.output}; backend={r["backend"]}; lines={len(r["lines"])}')


if __name__=='__main__':main()