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

这篇具有很好参考价值的文章主要介绍了几种python入门级OCR开源库中文识别效果对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 

素材图片

pytesseract

easyocr

PaddleOCR

总结


素材图片

python ocr库哪个好,文字识别,图像识别,python,numpy,开发语言

pytesseract

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

安装:

pip install pytesseract

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

chi_sim.traineddata

编码:

def ocr_pytesseract(img):
    import pytesseract
    from PIL import Image
    text = 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 easyocr
    reader = 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_ocr
    ocr = 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文章来源地址https://www.toymoban.com/news/detail-571451.html

到了这里,关于几种python入门级OCR开源库中文识别效果对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Umi-OCR:开源、免费、离线、多功能的 OCR 图片文字识别软件

    官方版本说明 不同版本仅OCR引擎插件不同,其它功能完全一致。 均支持 win7 x64 及以上的系统,附带多国语言识别库。 .7z.exe 为自解压包,可以用压缩软件打开,也可以在没有安装压缩软件的电脑上直接双击解压。 Paddle 引擎插件版 (性能好,速度快,占用率高,适合高配机

    2024年01月19日
    浏览(57)
  • 已经开源的中文大模型对比,支持更新

    大模型对比网站:大模型综合评测对比 | 当前主流大模型在各评测数据集上的表现总榜单 | 数据学习 (DataLearner) 大模型下载:互链高科 ClueAI/PromptCLUE-base-v1-5 at main (huggingface.co) 支持多任务生成,支持中文,不支持多轮对话,体验:ClueAI (cluebenchmarks.com) 基于promptclue-base进一步训

    2024年02月12日
    浏览(39)
  • opencv实现图像去畸变——几种实现方式(含完整代码)&&效果对比图&&详细参数说明&&核心参数变化对应变化效果图&&常见问题

    以下介绍下opencv实现图像去畸变的几种方式以及详细参数说明,含项目案例,含扩展的相关知识 ① cv::fisheye::initUndistortRectifyMap 和 ② cv::initUndistortRectifyMap 都是 OpenCV 库中的函数,用于摄像机的畸变校正和图像的矫正。二者的区别在于,cv::fisheye::initUndistortRectifyMap 适用于

    2024年02月10日
    浏览(73)
  • OpenAI Whisper中文语音识别效果尝试和应用(一)

            近期,OpenAI发布了Whisper语音识别模型,声称其在英语语音识别方面已接近人类水平的鲁棒性和准确性。出于对自动语音识别的兴趣,本人对此进行了一些尝试,看看它对中文语音识别的效果。         本内容仅供对语音识别有兴趣或者仅仅希望应用的入门朋友

    2023年04月18日
    浏览(33)
  • 【Python】【OpenCV】OCR识别(三)——字符识别

    通过上一篇博客,我们成功将有角度的图片进行“摆正”,接下来我们来提取图片中的文字。 我们使用Tesseract来处理图片并提取文字,相关下载安装请参考:Python下Tesseract Ocr引擎及安装介绍 - 黯然销魂掌2015 - 博客园 (cnblogs.com) 同时我们需要下载第三方Lib——pytesseract,使用

    2024年02月02日
    浏览(33)
  • Python实现OCR文字识别

    OCR(Optical Character Recognition,光学字符识别)是指通过扫描纸质文档或照片,通过计算机对图像记录的文字进行识别的一种技术。本文介绍如何使用Python来实现OCR文字识别技术。 要实现Python的OCR文字识别,首先需要安装OCR软件和相关的包依赖,比如pytesseract和OpenCV。 安装pyt

    2024年02月16日
    浏览(30)
  • python之OCR文字识别

    将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR 的底层库并不多,目前很多库都是使用共同的几个底层OCR 库,或者是在上面进行定制。 easyocr是基于torch的深度学习模块 easyocr安装后调用过程中出现opencv版本不兼容问题,所以放弃此方案

    2024年02月20日
    浏览(28)
  • 【Python】【OpenCV】OCR识别(一)

    接着练手图像处理例子   抛开网上截图进行OCR识别,更多的图源来自于我们的手机,相机等等设备,而得到的图片都并非是板正的,大多随手一拍的图源都是带有角度的,所以我们需要先将图像进行摆正。 首先先对图像进行预处理,上代码:         1、使用Canny来进行边缘

    2024年02月03日
    浏览(32)
  • SpringBoot项目(百度AI整合)——如何在Springboot中使用文字识别OCR入门

    前言:本系列博客尝试结合官网案例,阐述百度 AI 开放平台里的组件使用方式,核心是如何在spring项目中快速上手应用。 本文介绍如何在Springboot中使用百度AI的文字识别OCR 其他相关的使用百度AI的文章列表如下: 如何在Springboot中使用语音文件识别 ffmpeg的安装和使用 1.从官

    2024年02月02日
    浏览(27)
  • Python制作简易OCR文字识别系统

    前不久看了一篇“如何使用Python检测和识别车牌?”用OpenCV对输入图像进行预处理,用imutils将原始输入图像裁剪成所需的大小,用pytesseract将提取车牌字符转换成字符串(车牌识别)。 但经实测,美式车牌识别基本正确,但中国92式车牌、新能源车牌识别基本失败,失败的现象

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包