装包

pip install torch torchvision torchaudio
pip install easyocr

安装完成后,可以通过easyocr.__version__查看版本号:

import easyocr
print(easyocr.__version__)

2、安装检测模型、识别模型(语言包)

如果事先没有安装检测模型和识别模型,第一次执行脚本时会自动下载2种模型文件:

这种方式下载速度较慢,而且容易出错导致下载中断,可以通过手动方式下载、安装。

进入esayocr官网选择需要的模型下载(Jaided AI: EasyOCR model hub)。

首先下载文本检测模型:


接下来下载识别模型,识别模型对应了各种语言包,下图是简体中文和英文的识别模型:

将下载的模型文件解压后拷贝到当前登录的用户目录的.EasyOCR\model文件夹下,Windows系统为:C:\Users\yourname.EasyOCR\model,其中yourname是登录用户名。

【注】这里下载的识别模型(语言包)的文件名称和后面看到的语言类型并不是完全对应的,比如在代码中的语言类型ch_sim对应简体中文(zh_sim_g2),en对应英文(english_g2)。

3、使用方法

EsayOcr的使用正如其名非常地简单,就是2个步骤,第1步创建Reader()实例,第2步用readtxt()方法检测和识别。

初始化Reader()实例的参数有:

  • lang_list (list):识别语言代码,比如[‘ch_sim’,’en’]分别表示简体中文和英文。
  • gpu (bool, string, default = True) :是否使能GPU,只有安装了GPU版本才有效。
  • model_storage_directory (string, default = None) :模型存储位置,依次查找系统变量EASYOCR_MODULE_PATH (preferred)、MODULE_PATH (if defined)表示的路径或者~/.EasyOCR/路径。
  • download_enabled (bool, default = True):如果没有对应模型文件时,自动下载模型。
  • user_network_directory (bool, default = None) :用户自定义识别网络的路径,如果没有指明,则在MODULE_PATH + ‘/user_network’ (~/.EasyOCR/user_network)目录中查找。
  • recog_network (string, default = ‘standard’) :替代标准模型,使用自定义的识别网络。
  • detector (bool, default = True) :是否加载检测模型。
  • recognizer (bool, default = True) :是否加载识别模型。

创建完实例后,识别文字就要用到其readtext()方法。

检测与识别readtext()方法

下面是一个最简单的应用例子,首先创建一个reader对象,传入要使用的语言包(识别模型),然后在reader对象的readtext方法中传入要识别的文件名称:

import easyocr
import cv2reader = easyocr.Reader(['ch_sim', 'en'])
img = cv2.imread(r'C:\Users\Yi\Desktop\2.jpg')
result = reader.readtext(img)
for i in result:print(i)

如果中途遇cv2.error 改一下包中的通道注释掉


readtext()方法返回一个元组,包含了多个元素,每个元素由识别到文字信息的边框,文字内容,可信度等3部分组成。

除了前面例子中readtext()传入文件名称,也可以在readtext()方法中传入图像的numpy数组,比如用opencv读取图片文件得到的numpy数组:

import easyocr
import cv2reader = easyocr.Reader(['ch_sim', 'en'])
img = cv2.imread(r'C:\Users\Yi\Desktop\2.jpg')
result = reader.readtext(img)
for i in result:print(i)color = (0, 0, 255)
thick = 3for res in result:print(res)pos = res[0]text = res[1]for p in [(0, 1), (1, 2), (2, 3), (3, 0)]:cv2.line(img, pos[p[0]], pos[p[1]], color, thick)cv2.imwrite(r'C:\Users\Yi\Desktop\2.jpg', img)


第3种方法是在readtext()中传入读出的原始字节内容,注意图片文件是以rb方式读出:

import easyocrreader = easyocr.Reader(['ch_sim', 'en'])
with open(r'C:\Users\Yi\Desktop\2.jpg', 'rb') as f:img = f.read()result = reader.readtext(img)for res in result:print(res)

结果:
([[105, 57], [344, 57], [344, 122], [105, 122]], ‘琴 屿 路’, 0.555535924621889)
([[110, 122], [259, 122], [259, 163], [110, 163]], ‘QINYU’, 0.9948298735178898)
([[275, 131], [337, 131], [337, 167], [275, 167]], ‘LU’, 0.9687030228472547)

文本,汉字,英文;模型下载过慢的,可以从我网盘拿奥

链接:https://pan.baidu.com/s/1N3eyF0pN6fVJGhwcRR1nbw2
提取码:8888

如出错联系q: 1206154726

python --离线识别图片中文字(easyocr)相关推荐

  1. python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...

    0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...

  2. python批量识别图片中文字_Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  3. python批量识别图片中文字_如何用Python识别图片中的文字?

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  4. python批量识别图片中文字_利用Python批量进行图片文字识别

    实现逻辑 1. 批量获取图片的路径 2. 通过调用百度OCR接口批量识别图片 3. 将返回值写入txt 实现过程 1. 安装百度的Python SDK pip install baidu-aip 2. ...

  5. 单张、批量识别图片中文字(写入txt文件、窗口视图创建、打包.exe文件)(百度文字识别SDK+Python的GUI之tklinker+打包pyinstaller)

    昨天我姐问我有没有软件可以批量识别图片上的文字,她在帮客户做资料整理,但是用的方法只能一张一张上传识别,不仅效率低还浪费时间. ​我就找了找批量识别的软件,下载下来觉得:嗯?不错,界面也挺好,小东西做 ...

  6. Python批量识别图片中的文字并保存到txt文档中

    Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了. 1.需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的 2 ...

  7. python 识别图片中的中文_python识别图片中文字的方法

    Tesseract 文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别.Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别.但是在此之 ...

  8. 简单的计算机程序图,技巧:只需几个简单的步骤,即可使用Office工具离线识别图片文字...

    在日常办公室工作中,我们经常遇到需要识别图片中文字的情况.对于Internet,有很多解决方法,例如使用各种微信小程序,天若OCR文本识别工具等. 但是,如果它位于Intranet上,或者图像的内容具 ...

  9. Python+Tesseract-OCR识别图片文字并保存到word文档

    目录 使用Python+Tesseract-OCR识别图片文字并保存到word文档 安装Tesseract-OCR 配置Tesseract-OCR 通过CMD验证Tesseract-OCR工作 安装p ...

  10. python使用aip库识别图片中文字

    一.获取百度智能云API的AppID / API Key / Secret Key 1.创建应用 百度智能云登录地址:https://login.bce.baidu.com/ 2.立即创建 3.得到A ...

最新文章

  1. 吴恩达《Machine Learning》Jupyter Notebook 版笔记发布!图解、公式、习题都有了
  2. JS实现文本框有“请输入关键字”功能
  3. Linux 查看I/O端口地址分配
  4. svn 合并分支代码到主干
  5. iOS 带IAP提交注意事项及无法submit for review的解决方案
  6. YARP(Yet Another Reverse Proxy)是使用 .NET 构建的高度可定制的反向代理
  7. 知道答案吗?知道为什么是这个答案吗?
  8. Django中的 返回json对象的方式
  9. 王思聪花了100万的组装的电脑,网速到底有多快?
  10. NSight统计数据的颜色,缩写意义是什么?来自NV Jeff Kiel 比较官方的解释!
  11. 怎样用eclipse新建一个android项目?用eclipse新建android项目出错?请看下面
  12. Win32反汇编(四)栈的工作原理与堆栈平衡,函数方法参数的调用约定
  13. idea部署启动ssm项目
  14. itx机箱尺寸_itx主机还需要显卡吗?极限尺寸s18 itx机箱装机示范
  15. No input file specified. Nginx PHP
  16. 虚拟机上的hadoop localhost:8088,localhost:50070均不能访问
  17. go 字符转ASCII 字符转成数字
  18. python把字符串转化为字典_python 将字符串转换为字典
  19. 17小学计算机课程目录,课程
  20. ImageNet-trained CNNs are biased towards texture; increasing shape bias阅读笔记

热门文章

  1. redmine使用指南_Redmine安装与入门指南
  2. 计算机老师教师节祝福语,2020教师节祝福语精选
  3. 均匀分布的期望和方差的推导_均匀分布的数学期望与方差 常见分布的数学期望和方差...
  4. 大数据的核心价值是什么,主要体现在哪几方面?
  5. python判断谁做了好事
  6. C#迷宫Winform小游戏,生成可连通的迷宫地图
  7. ubuntu 安装和删除字体
  8. Regex 量词Quantifier 分组group
  9. Apq.Threading.js
  10. Apktool 使用详解