123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from pathlib import Path
- import requests
- import json
- import base64
- from itertools import chain
- url = 'http://192.168.199.27:18040'
- imgs_path = '../img'
- def send_request(img_path, image_type = 0):
- with open(img_path, 'rb') as f:
- img_str: str = base64.encodebytes(f.read()).decode('utf-8')
- data = {
- 'image': img_str,
- 'image_type': image_type
- }
- # idc_header = {
- # 'Content-Type': 'application/json',
- # 'Authorization': 'Bearer 4e00c444-620b-4d3c-85f4-777e64276f0e'
- # }
- r = requests.post(f'{url}/ocr_system/regbook', json=data)
- print(r.json())
- return r.json()
- def _parse_result(r):
- if r['status'] == '000':
- r = r['result']
- if r:
- del r['confidence']
- return {k: v['text'] if isinstance(v, dict) else v for k, v in r.items()}
- elif r['status'] == '101':
- return "101"
- if __name__ == '__main__':
- # 0
- root = Path(__file__).parent
- print(root)
- # img_paths = chain(*[Path(root / imgs_path).rglob(f'*.{ext}') for ext in ['jpeg', 'jpg', 'png', 'JPG', 'PNG']])
- img_paths = chain(*[Path(root / imgs_path).rglob(f'*.{ext}') for ext in ['jpg']])
- for img_path in img_paths:
- print(img_path)
- r = send_request(img_path)
- res = _parse_result(r)
- print(res)
- img_path: Path = img_path
- d = img_path.parent
- fn = f'{img_path.stem}.json'
- with (d / fn).open('w', encoding='utf-8') as f:
- json.dump(res, f, ensure_ascii=False, indent=4)
|