python使用tesseract-ocr完成验证码识别
Posted 亮亮1990
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python使用tesseract-ocr完成验证码识别相关的知识,希望对你有一定的参考价值。
一、python验证码识别库安装
Ubuntu版本:
1.tesseract-ocr安装
sudo apt-get install tesseract-ocr
2.pytesseract安装
sudo pip install pytesseract
3.Pillow 安装
sudo pip install pillow
其他linux版本(如centos):
1.tesseract-ocr安装
没找到直接命令安装,所以需要手动下载安装包。
https://github.com/tesseract-ocr/tesseract
在上述地址中下载最新的tesseract-ocr的安装包,并解压。
通过以下命令安装:
(1)cd tesseract-3.04.01
(2)./autogen.sh
(3)./configure
注意,如果出现error: leptonica not found,需要下载安装leptonica
http://www.leptonica.org/download.html
(4)make
(5)make install
(6)ldconfig
2.pytesseract安装
sudo pip install pytesseract
3.Pillow 安装
sudo pip install pillow
windows版本:
1.tesseract-ocr安装
http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.00dev.exe
下载,并安装。
注意:如果是64位的用户,在安装的时需要改变安装目录,如下图所示:
2.pytesseract安装
pip install pytesseract
3.Pillow 安装
pip install pillow
mac版本:
1.tesseract-ocr安装
brew install tesseract-ocr
注意:如果未安装brew命令,可以输入命令:
brew官网:http://brew.sh
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
2.pytesseract安装
sudo pip install pytesseract
3.Pillow 安装
sudo pip install pillow
二、Python验证码识别代码
- 1
- 2
- 3
- 4
- 5
- 6
三、pytesseract运行错误:
1.pytesseract.pytesseract.TesseractError: (1,’Error opening data file /usr/local/share/tessdata/eng.traineddata’)
解决方法:(原文地址http://stackoverflow.com/questions/14800730/tesseract-running-error)
(1)$ wget https://tesseract-ocr.googlecode.com/files/eng.traineddata.gz
(2)$ gunzip eng.traineddata.gz
(3)$ sudo mv -v eng.traineddata /usr/local/share/tessdata/
http://blog.csdn.net/a349458532/article/details/51490291 转载地址
------------------------------------------------------------------------------------------------
按以上配置完后有问题,各种出错。
经整理,搜索资料。废话不说了,直接上代码
import pytesseract
from PIL import Image
pytesseract.tesseract_cmd = r'C:\\Program Files\\Tesseract-OCR\\tesseract.exe' #指定ocr的安装目录
image = Image.open(r'C:\\Python36\\prctice\\eurotext.tif') #图片地址
code = pytesseract.image_to_string(image) #image_to_string方法
print(code)
直接运行以上代码还出错。还需要配置训练数据的环境变量路径
变量名:TESSDATA_PREFIX
变量值:C:\\Program Files\\Tesseract-OCR\\tessdata
经测试可运行
-----------------------------------
以上是关于python使用tesseract-ocr完成验证码识别的主要内容,如果未能解决你的问题,请参考以下文章
python tesseract-ocr 基础验证码识别功能(Windows)
python+selenium+Tesseract-OCR识别图片验证码