Python ocr自动标注数据集,Python ocr哪个速度最快-程序员宅基地

技术标签: 人工智能  

大家好,小编来为大家解答以下问题,Python ocr自动标注数据集,Python ocr哪个速度最快,现在让我们一起来看看吧!

1.pytesseract

1.1简介

Tesseract是一款开源的OCR(Optical Character Recognition,光学字符识别)引擎,最初由HP实验室开发,在2005年后由Google接手并进一步开发和完善。Tesseract支持多种语言文字的检测和识别,包括中文、英语、德语、法语、意大利语等多种主要语言,同时也支持针对特定场景或应用的领域OCR开发pythonturtle画扇形

Tesseract基于机器学习技术,使用了多层神经网络以及支持向量机(SVM)等算法进行文字特征提取和识别。同时,Tesseract通过图像预处理、二值化、斑点去除和边框检测等多个环节优化页面处理流程,并且提供了多种字体、大小、旋转角度和噪声等挑战场景下的训练数据集,使得识别精度可以获得不错的性能表现。

除了提供C++ API之外,Tesseract还为多种编程语言提供了API的封装,如Python、Java、C#等,方便用户快速上手开发应用,可以广泛应用于扫描文档、电子书库入库、自动化办公、图片文字识别搜索等各个领域。

1.2安装部署

pytesseract需要配合安装在本地的tesseract-ocr.exe文件一起使用。具体步骤如下:

  1. python终端利用pip安装pytesseract:
   pip install pytesseract -i https://pypi.tuna.tsinghua.edu.cn/simple/

由于pip默认从国外的源下载包库,速度会非常缓慢,因此可以采用国内的镜像站下载会更加快捷,此处使用的是清华的镜像站,还可以换成其他几个镜像站:

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
  1. 下载tesseract-ocr.exe。可以从github上下载最新版本:
    github传送门
    github下载可能速度较慢,这里博主已经提前下载好了:可从百度云获取~
    百度云传送门(提取码:qgh2)
    安装步骤:
  • 选择安装语言:直接默认英语-OK
    在这里插入图片描述
  • Next
    在这里插入图片描述
  • Agree
    在这里插入图片描述
  • 由于默认的识别语言是英语,这里我们要在Additional data中勾选中文包,才可以OCR识别中文。(注:这里的vertical指的是识别竖向文本)
    在这里插入图片描述
    安装完成之后就可以在python当中进行实践啦~

1.3应用举例

下面是python应用Tesseract进行文字识别的代码实例:

import pytesseract
from PIL import Image
#英文识别:将路径改为自己要识别的图片路径即可
text1 = pytesseract.image_to_string(Image.open(r"C:\Users\1.png"), lang='eng')
print("英文模式识别结果:",text1)
print("-------------")
#简体中文识别:
text2 = pytesseract.image_to_string(Image.open(r"C:\Users\1.png"), lang='chi_sim')
print("中文模式识别结果:",text2)
print("-------------")
#简体中文与英文混合:
text3 = pytesseract.image_to_string(Image.open(r"C:\Users\1.png"), lang='chi_sim+eng')
print("中英文混合模式识别结果:",text3)

2.PaddleOCR

2.1简介

PaddleOCR是飞桨(PaddlePaddle)推出的一个端到端的光学字符识别开源工具集,支持中文、英文、数字以及特殊符号等各种类型的文字检测、识别和词语整体识别。该工具集使用PaddlePaddle深度学习框架技术,提供了多种OCR模型和算法,包括基于CNN+CTC、DenseNet+CTC等模型,能够针对不同场景和应用提供最优的OCR解决方案。同时,PaddleOCR还集成了OCR精度评估工具,可以快速地评估OCR模型的准确率和鲁棒性。除此之外,PaddleOCR还提供了丰富的API接口和命令行工具,使得用户可以轻松地进行OCR应用的开发和部署。

PaddleOCR除了支持通用文字识别外,还具备大量针对特定领域或行业的OCR功能,例如身份证/银行卡实现、表格识别、汽车VIN码识别、发票识别、名片识别等。相比其他OCR工具,PaddleOCR在识别精度、效率和扩展性等方面都有着较好的表现和广泛的适用性,是目前业内较为流行和优秀的OCR工具之一。

2.2安装部署

PaddleOCR的安装较为简单,直接在终端用pip安装即可,共三部分:

pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install shapely -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install paddleocr -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.3应用举例

from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang="ch")
#要识别图片的路径:
img_path = r"C:\\Users\\3.png"
#识别结果:
result = ocr.ocr(img_path, cls=True)
#结果输出展示:
for line in result[0]:
    print(line)

paddle识别输出结果包含三部分内容:识别文字在图中的位置boxes、识别出来的文本txts、识别结果置信度scores。
这三分存放在result列表中。其结构是这样的:

[[
[第一行的位置,(第一行的内容,得分)],
[第二行的位置,(第二行的内容,得分)],
[第三行的位置,(第三行的内容,得分)] 
  ]]

tips:识别结果为什么在一个总的列表外面又嵌套了一层列表呢?这是由于示例中待识别图片只有一个文字区域,因此我们用result[0]来获取结果,如果图片中有多个文字区域,则会有多个结果列表,所以外面会套一层大的列表来包含各个文字区域的识别结果。通常情况下直接用result[0]即可。
由于boxes、txts、scores混合在列表中不方面使用,这里我们在识别结果的基础上把三项内容提取出来:

boxes = []
txts = []
scores = []
for line in result[0]:
    boxes.append(line[0])
    txts.append(line[1][0])
    scores.append(line[1][1])
print("scores:")
for i in range(len(scores)):
    print (scores[i])
print("txts:")
for i in range(len(txts)):
	#原格式文本输出
    print (txts[i])
    #输出不换行
    #print (txts[i],end = "")
print("boxes:")
for i in range(len(boxes)):
    print (boxes[i])

3.easyocr

3.1简介

EasyOCR是一款基于Python的开源OCR工具,针对中英文、韩语、日语、法语、德语、意大利语、西班牙语和葡萄牙语等多种语言提供快速有效的文字检测和识别功能。EasyOCR采用深度学习技术,使用卷积神经网络(CNN)和循环神经网络(RNN)等模型进行文字检测与识别,并且集成了多种预处理技术、数据增强等方法来优化文字识别效果。

EasyOCR在训练过程中使用了公开数据集和自己构建的实验室数据集相结合的方式,使得训练样本大大增加,从而提高了模型的泛化能力和准确率。除了通用文字识别功能之外,EasyOCR还支持多种特定领域的OCR需求,如身份证、驾驶证、名片、银行卡、车牌号码等,也可以兼容用户自定义训练数据集,满足个性化的OCR需求。

EasyOCR具有易于安装、使用方便、模型轻量化、可扩展性强等特点,在表现和使用体验上超越了Tesseract和其他一些OCR工具。同时,EasyOCR提供的API接口也非常简单易懂,因此受到了广大机器学习开发者和数据科学家的青睐,被应用于各种OCR场景与对出现较好的表现。

3.2安装部署

  1. 通过python终端安装easyocr库
pip install easyocr  -i https://pypi.tuna.tsinghua.edu.cn/simple/
  1. EasyOCR首次运行还需要安装识别模型,运行时会自动安装,但是速度极慢!!!还经常会下载失败,因此这里博主给大家准备好了。
    百度云传送门(提取码:67aj)
    模型下载完成后,需要将model中的文件放到C:\Users\dragon.EasyOCR\model中,这时启动程序就不需要加载模型了

3.3应用举例

import easyocr

#设为中英文混合识别:ch_sim en
reader = easyocr.Reader(['ch_sim','en'], gpu = False) 
#路径改为用户需要识别的图片的路径
result = reader.readtext(r"C:\\Users3.png", detail = 0)
for i in result:
    print(i, end = '')

4.muggle_ocr

4.1简介

Muggle OCR是一款基于Python的开源OCR库,能够支持多种语言文字的检测和识别,包括中文、英文、日文、韩文等多种主要语言。Muggle OCR依托于深度学习技术,采用了卷积神经网络(CNN)和循环神经网络(RNN)等模型进行文字特征提取和识别。

与其他OCR工具不同的是,Muggle OCR使用Tensorflow 2.0框架搭建,并使用Keras API进行模型构建和训练,代码风格简洁清晰易读,其中包含的API也非常直观易用。同时,Muggle OCR还使用Lecun的LeNet-5作为基础卷积神经网络模型,能够有效地降低模型复杂度,减少参数量,提高模型效率和推理速度。此外,Muggle OCR还对图片进行透视变换、二值化、字符分割等预处理方法,提高了文字识别的精度和鲁棒性。

Muggle OCR具备轻量级、快速、易扩展等特点,其被广泛应用于证件识别、汽车VIN码识别、手写数字识别、自然场景文字识别等各种OCR应用场景。由于其开源且易学,越来越多的开发者加入到Muggle OCR的贡献者行列中,这也促进了Muggle OCR全球用户社区的不断壮大。

4.2安装部署

python官网和国内各镜像站点已经将myggle_ocr的库删除了,无法通过pip install安装。博主给大家准备好啦~~
百度云传送门(提取码:deqz)
手动下载后,用vscode或其他IDE打开压缩包所在文件夹:

pip install muggle-ocr-1.0.3.tar.gz -i https://pypi.douban.com/simple --user

tips:如果是直接在cmd里面安装,则压缩包前面要指明其所在路径

4.3应用举例

import muggle_ocr
# 初始化sdk;model_type共两种模式
#1. /ModelType.Captcha 验证码识别模式
sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)
#2.ModelType.OCR常规图片识别
#sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.OCR)
#请把路径改为用户下需要识别的图片
with open("C:\\Users\\dragon\\Desktop\\pictures\\6.png",'rb') as f:
    img = f.read()
text = sdk.predict(image_bytes=img)
print(text)

tips:经过实测,muggle_ocr识别验证码的效果要好一些,要识别文本还是建议用前几种方式

5.dddd_ocr

5.1简介

dddd_ocr(懂得都懂_ocr),是一个开源的图像识别库,它主要用于识别和提取图像中的文本信息。该库支持多种图像格式,包括JPEG、PNG、BMP、GIF等,并且可以在多种操作系统上运行。

dddd_ocr的特点包括:

高准确性:dddd_ocr在识别和提取图像中的文本信息方面具有较高的准确率,尤其是对于中文和英文文本的识别效果更佳。
多种功能:dddd_ocr不仅可以识别文本,还可以提取图像中的二维码、车牌号码、条形码等多种信息,同时支持多种语言和文件格式。
易于使用:dddd_ocr的使用非常简单,只需要导入相应的库文件并调用相应的函数即可进行图像识别。
高效性:dddd_ocr采用了分布式计算的方式,可以将识别任务分配到多个节点上进行处理,从而提高了识别速度和效率。
总的来说,dddd_ocr是一个功能强大、易于使用、高效性高的图像识别库,可以广泛应用于文本识别、数据提取、图像处理等领域。

5.2安装部署

直接在python终端用pip命令安装就可以啦~~

pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple/

5.3应用举例

import ddddocr
ocr = ddddocr.DdddOcr()
#请将下面路径改为用户需要识别图片的路径
with open("C:\\Users\\dragon\\Desktop\\pictures\\1.png",'rb') as f:
    img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a17348/article/details/135031473

智能推荐

分布式光纤传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告_预计2026年中国分布式传感器市场规模有多大-程序员宅基地

文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大

07_08 常用组合逻辑电路结构——为IC设计的延时估计铺垫_基4布斯算法代码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码

OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版

关于美国计算机奥赛USACO,你想知道的都在这_usaco可以多次提交吗-程序员宅基地

文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗

MySQL存储过程和自定义函数_mysql自定义函数和存储过程-程序员宅基地

文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程

半导体基础知识与PN结_本征半导体电流为0-程序员宅基地

文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0

随便推点

【Unity3d Shader】水面和岩浆效果_unity 岩浆shader-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader

广义线性模型——Logistic回归模型(1)_广义线性回归模型-程序员宅基地

文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型

HTML+CSS大作业 环境网页设计与实现(垃圾分类) web前端开发技术 web课程设计 网页规划与设计_垃圾分类网页设计目标怎么写-程序员宅基地

文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写

C# .Net 发布后,把dll全部放在一个文件夹中,让软件目录更整洁_.net dll 全局目录-程序员宅基地

文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录

BRIEF特征点描述算法_breif description calculation 特征点-程序员宅基地

文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点

房屋租赁管理系统的设计和实现,SpringBoot计算机毕业设计论文_基于spring boot的房屋租赁系统论文-程序员宅基地

文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文