今天之所以写这篇文章,算是对pyautogui工具使用的补充,pyautogui只能通过图片像素来判断图片是否存在,如果我们想要自动化的识别图片并将它转换为文字呢?我们应该怎么做?此时tesseract可以帮助我们解决这个问题。下面我就来介绍它的环境搭建和安装方式。
一、Tesseract介绍、下载指南
1、了解Tesseract工具
Tesseract是一个 由HP实验室开发 由Google维护的开源的光学字符识别(OCR)引擎,可以在 Apache 2.0 许可下获得。它可以直接使用,或者(对于程序员)使用 API?? 从图像中提取输入,包括手写的或打印的文本。与Microsoft Office Document Imaging(MODI)相比,我们可以不断的训练语言,提高图像转换文本的能力。
2、下载地址
tesseract官方下载地址 tesseract语言包下载 注意在语言包下载语言包时页面会崩溃,大家想用中文包的,可以进入我下面的网盘链接,想要下载其他语言包的同学,建议将链接复制到迅雷进行下载,下载速度还挺快的。
3、请注意!!!
为了更好的体验,建议下载稳定版,即如下版本, 64位电脑下载: 32位电脑下载: 由于官方的网站速度比较慢,在此贴上我的百度网盘链接,包含中文语言包、tesseract软件、jTessBoxEditor训练软件以及使用该软件的教程指导(jdk包)。链接如下: 百度网盘链接附提取码:vlqv
二 、环境搭建
好了,相信聪明的你们已经下载好了吧,下面我们开始进行安装了。
2.1 版本3.05安装
3.05版本:这个注意不要勾选Additional language,勾选了无法下载会报错,建议在官网找语言包链接,通过迅雷下载。后面都是无脑操作,选择好路径就行。
2.2 最新版本安装
最新版5.2.0版本:这个多了个组件,里面可以勾选你想要的组件(建议下载),在这里都选择中文。 Additional script勾选中文包如下: 安装,这时会下载组件,就是速度很慢。 Additional language:在这里我选择不勾选,下的很慢。语言包也可以到网站获取链接通过迅雷下载。
2.3 环境搭建
接下来我们开始进行环境变量配置①在path中添加你的安装路径:D:\Program Files\Tesseract-OCR ②:变量名:TESSDATA_PREFIX,变量值:D:\Program Files\Tesseract-OCR\tessdata,这两个路径都需要配置到环境变量里面去。如下: 分别保存,打开cmd验证,输入tesseract -v验证,出现如下说明你配置好了 语言包配置:将下载好的语言包放入:D:\Program Files\Tesseract-OCR\tessdata 验证方式,在cmd输入tesseract --list-langs 运行如下说明成功: 到这里基本上配置好了。
2.4 举个栗子
在cmd中输入:**tesseract/? 可以查看帮助,在这里我们使用命令来进行简单的图片识别并提取文字: tesseract imagename outputbase [options…] [configfile…] 即:tesseract 输入文件名 输出文件 配置选项 在这里我们使用如图的图片eng.PNG来验证: 进入图片的路径,在路径栏输入cmd, 或者自己先进入cmd慢慢cd过去;输入命令: tesseract eng.PNG eng -l eng,其中(eng是语言,可以换成其他语言)回车后在路径会生成一个txt文件,打开显示: “There are two reasons why people don’t talk about things; either it doesn’t mean anything to them, or it means everything.” 到这里则所有验证通过,恭喜你一次性到位,安装成功!
三、Python中的环境搭建
3.1 安装pytesseract
由于这个软件可以和python结合起来使用,因此这里我们需要在cmd中安装包:
①python版本:3.7.9 ②这里我用的是pycharm工作台,不会安装的自己百度 ③安装命令:pip install pytesseract
3.2 修改配置文件
进入python安装包的路径:D:\Program Files\Python37\Lib\site-packages\pytesseract 编辑文件:pytesseract.py 修改tesseract_cmd = ‘D:\Program Files\Tesseract-OCR/tesseract.exe’,修改后在python中运行就不会报错了。
3.3 在python中验证
import pytesseract
img_path = "../chi.PNG"
result = pytesseract.image_to_string(image=img_path,lang="chi_sim",config="--psm 1")
print(result)
识别的图片为: 识别效果,对于汉字还是有点问题,但是对于英文识别度很高,所以我们对于识别度不高的可以自己训练,哈哈哈。
tesseract 的 安 英 使 用 及 配 置 问 题 解 火 一 、 安 装 tesseract 二 、 配 置 环 境 变 量 “ 三 、cmd “ 方 式 中 出 现 的 问 题 及 解 决 方 法 四 、 pycharm 方 式 中 出 现 的 闰 题 及 解 决 办 法 五 、 验 证 结 果
四、持续学习
今天的分享就到这里了,我后面还会分享opencv处理图片的学习。后面我也会讲tesseract在python中的基本用法,如何生成自己的验证码、二值化,模糊处理,有兴趣的同学们点个赞吧!!!
|