from paddleocr import PaddleOCR, draw_ocr
from PIL import Image
import fitz
import os

ocr = PaddleOCR(use_angle_cls=True,
                use_gpu=True,
                rec_model_dir='./inference_model/ch_PP-OCRv4_rec_infer/',
                cls_model_dir="./inference_model/ch_ppocr_mobile_v2.0_cls_infer/",
                det_model_dir = "./inference_model/ch_PP-OCRv4_det_infer/")  # need to run only once to download and load model into memory

img_path = './doc/imgs/1.jpg'

result = ocr.ocr(img_path, cls=True)
for line in result:
    print(line)
# 显示结果
from PIL import Image
image = Image.open(img_path).convert('RGB')
boxes = [detection[0] for line in result for detection in line] # Nested loop added
txts = [detection[1][0] for line in result for detection in line] # Nested loop added
scores = [detection[1][1] for line in result for detection in line] # Nested loop added
im_show = draw_ocr(image, boxes, txts, scores)
im_show = Image.fromarray(im_show)
im_show.save('./test.jpg')
09-06 03:06