fix(rapidocr_api): Fixed returned formatting errors (#200)

* rapidocr api
rapidocr_onnxruntime 版本 1.3.23  api返回格式需要格式化
This commit is contained in:
风随心动 authored and GitHub committed 2024-07-11 21:01:04 +08:00
1 parent efa113c817
commit 420b097a61
2 files changed
+19 -4

No files matched your search

+2 -2
View File
@@ -5,10 +5,10 @@
import requests
url = 'http://localhost:9003/ocr'
img_path = '../python/tests/test_files/ch_en_num.jpg'
img_path = '/tmp/page1_image1.jpg'
with open(img_path, 'rb') as f:
file_dict = {'image_file': (img_path, f, 'image/png')}
response = requests.post(url, files=file_dict, timeout=60)
print(response.text)
print(response.text)
+17 -2
View File
@@ -23,8 +23,8 @@ class OCRAPIUtils:
def __call__(self, img: Image.Image) -> Dict:
img = np.array(img)
ocr_res, _ = self.ocr(img)
if not ocr_res:
return {}
@@ -32,8 +32,23 @@ class OCRAPIUtils:
str(i): {"rec_txt": rec, "dt_boxes": dt_box, "score": score}
for i, (dt_box, rec, score) in enumerate(ocr_res)
}
return out_dict
return self.convert_to_json(out_dict)
def convert_to_json(self, data):
"""Recursively convert NumPy types to Python types."""
if isinstance(data, np.ndarray):
return data.tolist()
elif isinstance(data, np.generic):
return data.item()
elif isinstance(data, (list, tuple)):
return [self.convert_to_json(item) for item in data]
elif isinstance(data, dict):
return {k: self.convert_to_json(v) for k, v in data.items()}
elif isinstance(data, np.bool_):
return bool(data)
else:
return data
app = FastAPI()
processor = OCRAPIUtils()