tesseract安装及配置
1. 安装tesseract
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。
tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/
下载完成后双击,此时会出现如下图所示的页面。
此时可以勾选Additional language data(download)选项来安装OCR识别支持的语言包,这样OCR便可以识别多国语言。然后一路点击Next按钮即可。
接下来,为了在python代码中使用tesseract功能,使用pip安装pytesseract:
pip install pytesseract
2、配置环境变量
为了在全局使用方便,比如安装路径为D:\Program Files (x86)\Tesseract-OCR,将该路径添加到环境变量的path中
配置完成后在命令行输入tesseract -v,如果出现如下图所示,说明环境变量配置成功
3、验证安装
接下来,我们可以使用tesseract和pytesseract来分别进行测试。
我们以如下图所示的图片为样例进行测试。
该图片的链接为https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png,可以直接保存或下载。
首先用命令行进行测试,将图片下载到D盘chromeDownload文件夹,保存为image.png,然后在该文件夹中打开命令行,用tesseract命令测试:
tesseract image.png result
运行结果如下:
D:\chromeDownload>tesseract image.png result
Tesseract Open Source OCR Engine v3.05.02 with Leptonica
这里我们调用了tesseract命令,其中第一个参数为图片名称,第二个参数result 为结果保存的目标文件名称。
运行结果便是图片的识别结果:Python3WebSpider。可以在chromeDownload文件夹中看到result.txt,这时已经成功将图片文字转为电子文本了。
然后还可以利用Python代码来测试,这里就需要借助于pytesseract库了,测试代码如下:
from PIL import Image
import pytesseract
text = pytesseract.image_to_string(Image.open(r'D:\chromeDownload\image.png'))
print(text)
我们首先利用Image读取了图片文件,然后调用了pytesseract的image_to_string()方法,再将其识别结果输出。
运行结果如下:
Python3WebSpider
如果成功输出结果,则证明tesseract和pytesseract都已经安装成功。
4、使用时遇到的坑
在使用tesseract命令行进行测试时,会议开始报以下的错误
Error opening data file \Program Files (x86)\Tesseract-OCR\tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
Could not initialize tesseract.
报错是意思是缺少环境变量TESSDATA_PREFIX,导致无法加载任何语言,就不能初始化tesseract。
解决的方法也很简单,在环境变量中添加TESSDATA_PREFIX,如下图
注意:变量值中的路径为“D:/Program Files (x86)/Tesseract-OCR”,使用正斜杠“/”。windows中复制过来的路径默认是反斜杠“\”
配置完成后,重新打开命令行,即可正常使用。
第二个坑是使用pytesseract时,出现以下错误
Traceback (most recent call last):
File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 170, in run_tesseract
proc = subprocess.Popen(cmd_args, **subprocess_args())
File "D:\Python36\lib\subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "D:\Python36\lib\subprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:/python/20180911.py", line 4, in <module>
text = pytesseract.image_to_string(Image.open(r'D:\chromeDownload\image.png'))
File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 294, in image_to_string
return run_and_get_output(*args)
File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 202, in run_and_get_output
run_tesseract(**kwargs)
File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 172, in run_tesseract
raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path
这就很坑,添加了全局变量,还是提示tesseract没有安装或者不在PATH中。
百度了一下,解决方案如下。
pytesseract安装后,在python的Lib目录下site-packges下会生成一个pytesseract文件夹,文件夹中找到pytesseract.py,路径为:D:\Python36\Lib\site-packages\pytesseract,使用notepad之类软件打开pytesseract.py,找到如下两行:
# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
tesseract_cmd = 'tesseract'
将tesseract_cmd = 'tesseract'修改为:tesseract_cmd = 'D:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
表示tesseract_cmd配置的是你安装tesseract的绝对路径,这样就能找到tesseract了。修改后保存,再去运行python代码,就可以成功了。
tesseract安装及配置相关推荐
- OCR之Tesseract安装
Tesseract安装 一.Tesseract下载 二.添加环境变量 三.配置Tesseract中文识别语言包 四.下载相关库 五.示例程序 1.待识别图片 2.识别程序 3.识别结果 Tessera ...
- php tesseract,安装Leptonica、Tesseract-OCR
安装Tesseract-OCR 准备工作: 编译环境: gcc gcc-c++ make(这个环境一般机器都具备,可以忽略) 依赖的包: autoconf automake libtool libjp ...
- Maven安装与配置(最实用!!!)eclipse中配置maven
Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...
- Portainer 安装与配置
文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 Portainer 是一个开源.轻量级Do ...
- Myeclipse安装、配置、测试
Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...
- [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二
再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...
- centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)
1 PHP简介 PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...
- java jdk 1.8 安装_下载、安装、配置 java jdk1.8
近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...
- mysql安装好需要优化配置一下_Mysql的安装、配置、优化
Mysql的安装.配置.优化 安装步骤 1.先单击中的安装文件,如果是win7系统,请选择以管理员的方式运行. 2.大概需要30秒的时间,开始进入安装界面.请先把标红的打勾,好进行下一步的动作. 3. ...
最新文章
- mysql查看数据文件ibdata_如何从 ibdata文件 恢复 MySQL 数据库
- Swift5.1 语言参考(六) 声明
- BigDecimalf大小的比较
- 招商银行的AI野心:转型金融科技公司?
- Promoting yourself and your research
- table分页的简单实现逻辑
- 为Windows 服务器网络搬家
- 【noi】植物大战僵尸
- linux内核烧制,手机烧录自己编译的linux kernel
- java高级-----流
- 牙龈出血试试四个食疗方_新闻中心_新浪网
- [滤镜]的firefox兼容问题
- Centos7修改系统默认启动项
- 分享一个查看外网IP的工具
- 2022到2023基于PHP+微信小程序毕业设计课题参考
- Java 1077 互评成绩计算
- BeanDefinition介绍
- java前端接收回显图片_图片上传并回显后端篇
- java jfreechar鱼刺图_java-使用Jfreechart更改条形图中值轴的起始值
- Pusher入门:使用状态通道