use_new.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from markdown.new import DataSet,MarkdownTable
  2. from pathlib import Path
  3. import numpy as np
  4. from mdutils.mdutils import MdUtils
  5. import cv2
  6. import requests
  7. import json
  8. import time
  9. import base64
  10. from itertools import chain
  11. def send_request(str64, send_address='local', image_type=None):
  12. # sourcery skip: move-assign
  13. url_local = 'http://192.168.199.249:18050/ocr_system/cet'
  14. token_ts = '9679c2b3-b90b-4029-a3c7-f347b4d242f7'
  15. url_ts = 'http://aihub-test.digitalyili.com/aiSquare/openApi/reasoning-services/rlocrxm/cettest/cet'
  16. token_sb = 'dcae8cc6-0e49-4db8-a2d2-94ef84da3636'
  17. url_sb = 'http://aihub.digitalyili.com/aiSquare/openApi/reasoning-services/rlocrxm/cettest/cet'
  18. if image_type:
  19. json = {'image': str64, 'image_type': image_type}
  20. else:
  21. json = {'image': str64}
  22. if send_address == 'local':
  23. url = url_local
  24. headers = {"content-type": "application/json"}
  25. elif send_address == 'test':
  26. url = url_ts
  27. headers = {'Authorization': f"Bearer {token_ts}", 'content-type': "application/json"}
  28. elif send_address == 'sb':
  29. url = url_sb
  30. headers = {'Authorization': f"Bearer {token_sb}", 'content-type': "application/json"}
  31. return requests.post(url, json=json, headers=headers).json()
  32. dataset = DataSet('/Users/zeke/work/sx/OCR/HROCR/hr-ocr-cet/images/cet6')
  33. mt = MarkdownTable('英语等级证书_CET4')
  34. images = dataset.images
  35. for image, paths in images.items():
  36. print(image)
  37. for b64 in dataset.image_2_base64(image):
  38. res_dict = dataset.res_2_dict(send_request(b64))
  39. json_dict = dataset.json_2_dict(image)
  40. dataset.compare_dict(mt, res_dict, json_dict, paths[0])
  41. mt.add_field_table(dataset.field_rate_2_list)
  42. mt.mdFile.new_header(level=1, title=mt.name)
  43. mt.mdFile.new_paragraph("{:.2f}%".format(np.mean([float(mt.field_table[i][:-1]) for i in range(3, len(mt.field_table), 2)])))
  44. mt.mdFile.new_header(level=1, title='True')
  45. mt.mdFile.new_table(columns=2, rows=len(mt.true_table) // 2, text=mt.true_table, text_align='center')
  46. mt.mdFile.new_header(level=1, title='False')
  47. mt.mdFile.new_table(columns=2, rows=len(mt.field_table) // 2, text=mt.field_table, text_align='center')
  48. mt.mdFile.create_md_file()