python --离线识别图片中文字(easyocr)
装包
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)相关推荐
- python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...
0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...
- python批量识别图片中文字_Python识别图片中的文字
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python批量识别图片中文字_如何用Python识别图片中的文字?
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python批量识别图片中文字_利用Python批量进行图片文字识别
实现逻辑 1. 批量获取图片的路径 2. 通过调用百度OCR接口批量识别图片 3. 将返回值写入txt 实现过程 1. 安装百度的Python SDK pip install baidu-aip 2. ...
- 单张、批量识别图片中文字(写入txt文件、窗口视图创建、打包.exe文件)(百度文字识别SDK+Python的GUI之tklinker+打包pyinstaller)
昨天我姐问我有没有软件可以批量识别图片上的文字,她在帮客户做资料整理,但是用的方法只能一张一张上传识别,不仅效率低还浪费时间. 我就找了找批量识别的软件,下载下来觉得:嗯?不错,界面也挺好,小东西做 ...
- Python批量识别图片中的文字并保存到txt文档中
Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了. 1.需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的 2 ...
- python 识别图片中的中文_python识别图片中文字的方法
Tesseract 文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别.Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别.但是在此之 ...
- 简单的计算机程序图,技巧:只需几个简单的步骤,即可使用Office工具离线识别图片文字...
在日常办公室工作中,我们经常遇到需要识别图片中文字的情况.对于Internet,有很多解决方法,例如使用各种微信小程序,天若OCR文本识别工具等. 但是,如果它位于Intranet上,或者图像的内容具 ...
- Python+Tesseract-OCR识别图片文字并保存到word文档
目录 使用Python+Tesseract-OCR识别图片文字并保存到word文档 安装Tesseract-OCR 配置Tesseract-OCR 通过CMD验证Tesseract-OCR工作 安装p ...
- python使用aip库识别图片中文字
一.获取百度智能云API的AppID / API Key / Secret Key 1.创建应用 百度智能云登录地址:https://login.bce.baidu.com/ 2.立即创建 3.得到A ...
最新文章
- 吴恩达《Machine Learning》Jupyter Notebook 版笔记发布!图解、公式、习题都有了
- JS实现文本框有“请输入关键字”功能
- Linux 查看I/O端口地址分配
- svn 合并分支代码到主干
- iOS 带IAP提交注意事项及无法submit for review的解决方案
- YARP(Yet Another Reverse Proxy)是使用 .NET 构建的高度可定制的反向代理
- 知道答案吗?知道为什么是这个答案吗?
- Django中的 返回json对象的方式
- 王思聪花了100万的组装的电脑,网速到底有多快?
- NSight统计数据的颜色,缩写意义是什么?来自NV Jeff Kiel 比较官方的解释!
- 怎样用eclipse新建一个android项目?用eclipse新建android项目出错?请看下面
- Win32反汇编(四)栈的工作原理与堆栈平衡,函数方法参数的调用约定
- idea部署启动ssm项目
- itx机箱尺寸_itx主机还需要显卡吗?极限尺寸s18 itx机箱装机示范
- No input file specified. Nginx PHP
- 虚拟机上的hadoop localhost:8088,localhost:50070均不能访问
- go 字符转ASCII 字符转成数字
- python把字符串转化为字典_python 将字符串转换为字典
- 17小学计算机课程目录,课程
- ImageNet-trained CNNs are biased towards texture; increasing shape bias阅读笔记