快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

EasyOCR的使用

001-OCR光学文字识别

创新互联是专业的克井网站建设公司,克井接单;提供成都网站制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行克井网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

一、OCR简介

OCR(Optical Character Recognition,光学文字识别)是指电子设备检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。

各种场景都有OCR的身影,我们可以在任何地方使用到OCR。Python中常见的OCR有EasyOCR、PaddleOCR等,接下来我们以EasyOCR为例,演示其如何使用。

二、EasyOCR使用

EasyOCR是一个免费开源的OCR模块,其有自己的一系列的训练好的模型,借助这些模型,我们就可以识别各种场景下的文字。

Github链接:https://github.com/JaidedAI/EasyOCR

EasyOCR官网:https://www.jaided.ai/easyocr/

首先我们先来安装OCR:

Windows:pip install easyocr;Mac/Linux:pip3 install easyocr

安装完成以后

我们直接写代码即可

1.导入easyocr模块

import easyocr

 2.实例化Reader类

Reader类中有几个参数我们需要手动修改

lang_list:告诉它我们要识别的语言,以列表的形式传参,可以一次传递多种语言,但并非所有语言都可以一起使用,截止到2022年12月19日,已经支持80+种语言。这是目前支持的语言的链接:https://www.jaided.ai/easyocr/。我们这里写的ch_sim是简体中文,en是英文。

gpu:会让你选择使用cpu驱动还是gpu驱动,使用gpu驱动识别速度会更快一些,但是所要配置的环境也更复杂,如果有兴趣,可以自行研究一下,这里我们就使用cpu,将gpu改为False。

download_enabled:easyocr第一次运行时会先在线下载模型数据,但是鉴于网络不好,大部分人下载时都会发生错误,所以将download_enabled改为False,我们手动去下载模型数据。

model_storage_directory:这个参数是指定模型数据的引用路径,默认情况下在Windows系统中存放在C:\Users\用户名\.EasyOCR\model中,在Mac/Linux系统中存放在~/.EasyOCR/model中,我们可以通过修改model_storage_directory参数自行指定模型数据的路径,我这里就直接指定相对路径为./model。

注意:

除此之外还有很多其他参数,详情请见源码。

 

reader = easyocr.Reader(
lang_list=['ch_sim', 'en'],
gpu=False,
download_enabled=False,
model_storage_directory='./model'
)

 

 1.调用readtext方法

实例化Reader类以后,调用readtext方法读取图片。

readtext方法中有一个参数叫做image,把图片传给它即可。image参数可以接收图片路径、图片的numpy数组或者图片的字节流对象。一般情况下我们直接传递图片路径即可,除非有要求要针对图片做一些特殊处理。

result = reader.readtext(image='图片')
print(result)

 三、模型下载

刚刚我们说将download_enabled参数改为False,要去手动下载模型数据,这是模型数据下载地址:https://www.jaided.ai/easyocr/modelhub/。

ocr1

下载图中框选中的三个即可,下载下来为zip压缩包,一定要解压缩,我们需要的是其中的后缀名为pth的文件,并将其移动到我们自己创建的**model**文件夹中。因为我们要做文字识别就一定要有CRAFT,我们识别的大部分为简体中文和英文,所以下载zh_sim_g2和english_g2。当然,如果你要识别其他语言,请再次找其他语言的模型数据。

四、图片

在此提供几张图片,供大家测试。

OCR2

按照官方的说法,准确率在90%以上,但是碰到识别不出来或者识别错误的概率还是蛮大的。

ocr3



网站标题:EasyOCR的使用
本文链接:http://6mz.cn/article/dgpjpce.html

其他资讯