当前位置: 首页 > news >正文

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

我在想现在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.

最后分享代码下载地址:

https://download.csdn.net/download/FL1623863129/89748873


http://www.mrgr.cn/news/26188.html

相关文章:

  • IBM 中国研发部裁员风暴,IT 行业何去何从?
  • Pikachu靶场
  • 突破瓶颈:Java并发编程的最佳实践与技巧,你了解了吗?
  • 学会使用西门子博途Startdrive中的测量功能
  • Day24_0.1基础学习MATLAB学习小技巧总结(24)——图形对象属性值的设置和查询
  • 改进大语言模型的最全方法!
  • 钾盐矿开采与加工过程中的机电设备选型及管理指南
  • Redis 配置
  • python如何加速计算密集型任务2?
  • 深入解析代理模式:静态代理、JDK 动态代理和 CGLIB 的全方位对比!
  • 4.安卓逆向-常用数据结构java语言中的集合
  • 崩坏星穹铁道PC端2.5版本剧情、奖励攻略 用GameViewer远程帮手机减负 随时畅玩星铁PC端
  • SpringBoot之基础Web开发
  • 动态IP的最大更新频率
  • 9.12 TFTP通信
  • IO中断原理浅析
  • 大模型从失败中学习 —— 微调大模型以提升Agent性能
  • YOLOv5 Detect.py 改变检测框box线条的粗细,隐藏检测框的检测信息,只显示检测框box
  • 构建蛋白质复合体结构中所有链序列的同源性矩阵
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——12.二叉树(习题)