目录

素材图片

pytesseract

easyocr

PaddleOCR

总结


素材图片

pytesseract

pytesseract是google做的ocr库,一般用在验证码的识别。实测中文的识别速度最快,但是效果也是最差的。

安装:

pip install pytesseract

下载中文语言包,把语言包放在tessdata目录:

chi_sim.traineddata

编码:

def ocr_pytesseract(img):import pytesseractfrom PIL import Imagetext = pytesseract.image_to_string(Image.open(img), lang='chi_sim')print(text)start_time = time.time()
ocr_pytesseract('ocr_test.jpg')
end_time = time.time()
print('\n ==== OCR cost time: {} ===='.format(end_time-start_time))

结果:

E r
a 口
律 吕 调 阳
丽 口 怀 八 唐 门
伟 y 目==== OCR cost time: 1.413381814956665 ====

easyocr

支持CUDA的显示进行运算,因笔者没有此类显卡,无法测出对应的运算情况。单纯使用CPU运算进行对素材图片进行识别,耗时16秒多,但是识别的效果是最好的。

第一次运行需要下载检测模型和识别模型,可能需要连VPN才能下载。

安装:

pip install easyocr

编码:

def ocr_easyocr(img):import easyocrreader = easyocr.Reader(['ch_sim'], gpu=False)result = reader.readtext(img)print(result)start_time = time.time()
ocr_easyocr('ocr_test.jpg')
end_time = time.time()
print('\n ==== OCR cost time: {} ===='.format(end_time-start_time))

结果:

([[7, 77], [854, 77], [854, 251], [7, 251]], '秋收冬藏', 0.4780772924423218)
([[0, 371], [846, 371], [846, 545], [0, 545]], '闰馀成岁', 0.43691790103912354)
([[0, 672], [849, 672], [849, 837], [0, 837]], '律吕调阳', 0.9675037264823914)
([[27, 973], [867, 973], [867, 1133], [27, 1133]], '云腾致雨', 0.47716110944747925)
([[16, 1260], [840, 1260], [840, 1432], [16, 1432]], '露结为霜', 0.9142329692840576)==== OCR cost time: 16.298426151275635 ====

PaddleOCR

基于飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测、文本识别的训练算法。

安装:

pip install paddlepaddle
pip install shapely
pip install paddleocr

编码:

def ocr_PaddleOCR(img):from paddleocr import PaddleOCR, draw_ocrocr = PaddleOCR(use_angle_cls=True, lang="ch")result = ocr.ocr(img, cls=True)for line in result:print(line)start_time = time.time()
ocr_PaddleOCR('ocr_test.jpg')
end_time = time.time()
print('\n ==== OCR cost time: {} ===='.format(end_time-start_time))

结果:

[[[31.0, 101.0], [825.0, 101.0], [825.0, 230.0], [31.0, 230.0]], ('秋收冬藏', 0.9912934899330139)]
[[[35.0, 401.0], [828.0, 396.0], [828.0, 519.0], [36.0, 524.0]], ('徐成岁', 0.8544955253601074)]
[[[37.0, 699.0], [833.0, 699.0], [833.0, 817.0], [37.0, 817.0]], ('律吕调阳', 0.9010504484176636)]
[[[39.0, 995.0], [836.0, 998.0], [835.0, 1114.0], [38.0, 1111.0]], ('云腾致雨', 0.916015625)]
[[[41.0, 1292.0], [822.0, 1292.0], [822.0, 1408.0], [41.0, 1408.0]], ('露结为霜', 0.9582253098487854)]==== OCR cost time: 4.5573132038116455 ====

总结

测试样例单一,数据仅供参考,感兴趣的可以自行测试其他样例。

本文虽然没有列举过多的测试样例,但是实际我自己测试了多个样例,目前来看从识别准确度和耗时上看,表现最好的是PaddleOCR

几种python入门级OCR开源库中文识别效果对比相关推荐

  1. Android开源库集合(UI效果)

    动画效果 粒子动画效果 https://github.com/glomadrian/Grav 水波式loading等待动画 https://github.com/race604/WaveLoading ...

  2. 7个最佳的学习Python编程的开源库

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|AI遇见机器学习 很多伙伴们在学习Python的过程中, ...

  3. 蜂鸟金融终端:Python宽客开源库大全

    数值计算和数据结构 numpy - NumPy是使用Python进行科学计算的基本软件包. scipy - SciPy(发音为Sigh Pie)是基于Python的开放源代码软件生态系统,用于数学,科 ...

  4. 墙裂推荐!7个最佳的学习Python编程的开源库!

    开源最前线(ID:OpenSourceTop) 猿妹综合整理 大家好,我是菜鸟哥!今天给大家推荐一些不错的开源学习资料! 很多伙伴们在学习Python的过程中,更倾向于在Github上寻找Python ...

  5. 7个绝佳的学习 Python 编程的开源库

    来自:开源最前线 很多伙伴们在学习Python的过程中,更倾向于在Github上寻找Python学习资料. 今天就和大家分享Github上7个绝佳的Python编程学习的开源库,列表如下,欢迎收藏学习 ...

  6. you-get,python下载视频开源库快速方便

    you-get是github上的一个开源库(https://github.com/soimort/you-get), 参考官网上中文文档(https://github.com/soimort/you- ...

  7. python为什么有这么多库_为什么C++没有Python那么多开源库?

    c++的开源,就是一场绝地求生.你能看到的库,都已经成功吃鸡了,百里挑一. c++的世界,只有最终生还者,剩下的都是盒子精.快递员.玩久了个个都是lyb,还有很多神仙,环境是很不友好的. 开发c++库 ...

  8. OCR开源库Tesseract汉字识别训练

    用python OCR库pytesseract 写的一个OCR识别身份证程序:https://github.com/iChenwin/pytesseractID 先用中文做个示例: 拿到一张chi.p ...

  9. 几种常见的java开源库,及其功能介绍

    1.Commons Math 是Apache上一个轻量级自容器的数学和统计计算方法包,包含大多数常用的数值算法. 2.LWJGL(Lightweight Java Game Library)可以帮助J ...

最新文章

  1. plc原理及应用_施耐德PLC应用技术
  2. Android 实现布局动态加载
  3. Matlab 自带机器学习算法汇总
  4. 【今日互联网大事儿】传百度要投资Uber呢~
  5. oracle调用存储过程和函数返回结果集
  6. 安装win7系统不能开机启动服务器,win7系统开机启动项不能加载的原因分析及解决...
  7. 使用 Spring 简化 MyBatis
  8. android传感器开发与智能设备案例实战_【我的物联网成长记2】设备如何进行选型?...
  9. 7.1.21 jQuery 的 Post请求
  10. linux下ftp权限控制
  11. 关于linux下的共享库(动态库)和静态库
  12. html卡机代码,能让微信卡死的代码是什么 微信整人代码大全
  13. android nfc模拟器,NFC Emulator下载
  14. 大数据项目-4.下载安装谷歌翻译插件
  15. “放管服”改革背景下公安车驾管业务办理情况调研
  16. android照片美颜项目_android 美颜滤镜效果的实现
  17. PV,V,UV的概念,采集数据
  18. 谷歌gmail注册入口_如何下载所有Gmail,日历,文档和其他Google数据的备份存档...
  19. 51信用卡通过网银来获得账单的安全问题
  20. tokudb引擎使用

热门文章

  1. 先验概率与后验概率及贝叶斯公式
  2. 干货,分享kali安装arpspoof,以及常见错误问题,结尾附上局域网arp断网攻击
  3. IntelliJ IDEA创建java项目
  4. NUC972 使用不同的FLASH开机的ENV文件写法 NAND...
  5. windows10图片打开找不到内置图片查看器
  6. 基于OSGi的企业级开发框架实践——序篇
  7. java 连接 websphere_本地java类访问websphere的JNDI
  8. 实现微信小程序web-view内嵌H5中的下载功能(大文件切片下载)
  9. 深入探索Linux虚拟化KVM-Qemu分析之CPU虚拟化
  10. hiredis的代码示例