12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- from markdown.new import DataSet,MarkdownTable
- from pathlib import Path
- import numpy as np
- from mdutils.mdutils import MdUtils
- import cv2
- import requests
- import json
- import time
- import base64
- from itertools import chain
- def send_request(str64, send_address='local', image_type=None):
- # sourcery skip: move-assign
- url_local = 'http://192.168.199.249:18050/ocr_system/cet'
- token_ts = '9679c2b3-b90b-4029-a3c7-f347b4d242f7'
- url_ts = 'http://aihub-test.digitalyili.com/aiSquare/openApi/reasoning-services/rlocrxm/cettest/cet'
- token_sb = 'dcae8cc6-0e49-4db8-a2d2-94ef84da3636'
- url_sb = 'http://aihub.digitalyili.com/aiSquare/openApi/reasoning-services/rlocrxm/cettest/cet'
- if image_type:
- json = {'image': str64, 'image_type': image_type}
- else:
- json = {'image': str64}
- if send_address == 'local':
- url = url_local
- headers = {"content-type": "application/json"}
- elif send_address == 'test':
- url = url_ts
- headers = {'Authorization': f"Bearer {token_ts}", 'content-type': "application/json"}
- elif send_address == 'sb':
- url = url_sb
- headers = {'Authorization': f"Bearer {token_sb}", 'content-type': "application/json"}
- return requests.post(url, json=json, headers=headers).json()
- dataset = DataSet('/Users/zeke/work/sx/OCR/HROCR/hr-ocr-cet/images/cet6')
- mt = MarkdownTable('英语等级证书_CET4')
- images = dataset.images
- for image, paths in images.items():
- print(image)
- for b64 in dataset.image_2_base64(image):
- res_dict = dataset.res_2_dict(send_request(b64))
- json_dict = dataset.json_2_dict(image)
- dataset.compare_dict(mt, res_dict, json_dict, paths[0])
- mt.add_field_table(dataset.field_rate_2_list)
- mt.mdFile.new_header(level=1, title=mt.name)
- mt.mdFile.new_paragraph("{:.2f}%".format(np.mean([float(mt.field_table[i][:-1]) for i in range(3, len(mt.field_table), 2)])))
- mt.mdFile.new_header(level=1, title='True')
- mt.mdFile.new_table(columns=2, rows=len(mt.true_table) // 2, text=mt.true_table, text_align='center')
- mt.mdFile.new_header(level=1, title='False')
- mt.mdFile.new_table(columns=2, rows=len(mt.field_table) // 2, text=mt.field_table, text_align='center')
- mt.mdFile.create_md_file()
|