99网
您的当前位置:首页[python]使用OCRLiteOnnx几句代码实现ocr中英文数字识别

[python]使用OCRLiteOnnx几句代码实现ocr中英文数字识别

来源:99网

我在想现在OCR框有很多,有没有一款小巧且识别精度比较高的ocr框架呢?tesseract简洁但是识别精度不够,paddleocr虽然精度高但是框架庞大,安装paddle环境又比较麻烦,因此找到一款日常足够我们使用而又小巧,推理又快,即使CPU模式下足够我们使用。本人比较喜欢用python处理一些日常任务,因此选python语言实现。首先看看脚本文件夹:

可以看出除了一个封装类py文件基本没什么了,再看看调用方法,即main.py


from OCRLiteOnnx import *

srcimg=cv2.imread('test.jpg')
ocr = OCRLiteOnnx()
results = ocr.OCR(srcimg)
for i, res in enumerate(results):
    point = res['location'].astype(int)
    cv2.polylines(srcimg, [point], True, (0, 0, 255), thickness=2)
    print(res['text'])
cv2.namedWindow('OCR', cv2.WINDOW_NORMAL)
cv2.imshow('OCR', srcimg)
cv2.waitKey(0)
cv2.destroyAllWindows()

 可以看出除了上面cv2模块实际不超过10行代码就可以实现完整实现ocr。我随便截图试试:

原图:

结果:

onnxruntime==1.15.1
opencv-python==4.8.0.76
numpy==1.24.4
pyclipper==1.3.0.post5
pillow==10.4.0
shapely==2.0.1

上面模块基本pip一下就完,没有什么难度,我在python3.8环境安装建议使用python3.8.

因篇幅问题不能全部显示,请点此查看更多更全内容