Administrator
2023-02-05 1252c9489b631905fbce608109260760537b224f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import re
import time
 
import cv2
from cnocr import CnOcr
 
 
# 图像识别类
class OcrUtil:
    __ocr = CnOcr()
 
    @classmethod
    def ocr(cls, mat):
        res = cls.__ocr.ocr(mat)
        return res
 
    # 返回(识别内容,位置信息)
    @classmethod
    def ocr_with_key(cls, mat, key):
        start = time.time()
        res = cls.ocr(mat)
        res_final = []
        for r in res:
            text = r["text"]
            if re.match(key, text):
                ps = r["position"]
                res_final.append((text, [(int(ps[0][0]), int(ps[0][1])), (int(ps[1][0]), int(ps[1][1])),
                                         (int(ps[2][0]), int(ps[2][1])), (int(ps[3][0]), int(ps[3][1]))]))
        print("识别时间", time.time() - start)
        return res_final