基于Python easyOCR的图片文字识别并在原图上框出识别位置
import json
import cv2
import easyocr
import numpy as np
if __name__ == '__main__':
reader = easyocr.Reader(['ch_sim', 'en'], gpu=False, model_storage_directory='./EasyOCRModel')
image_name = "img_ocr_test_1.PNG"
image_org_path = "OCRimg/org/"
image_out_path = "OCRimg/out/"
text_json_list = []
precision_json_list = []
img = cv2.imread(image_org_path + image_name)
result_text = reader.readtext(img)
print("识别完成")
print(result_text)
for detection in result_text:
bbox = detection[0]
bbox = [(int(point[0]), int(point[1])) for point in bbox]
text = detection[1]
precision = detection[2]
text_json_list.append(text)
precision_json_list.append(precision)
cv2.polylines(img, [np.array(bbox)], isClosed=True, color=(0, 0, 255), thickness=2)
output_image_path = image_out_path + "result_" + image_name
cv2.imwrite(output_image_path, img)
print("绘制边界框并保存图片完成")
