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验证码识别代码

import pytesseract
from PIL import Image

image = Image.open('code.png')
code = pytesseract.image_to_string(image)
print code
 
  • 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完成验证码识别

python使用tesseract-ocr完成验证码识别

python tesseract-ocr 基础验证码识别功能(Windows)

python+selenium+Tesseract-OCR识别图片验证码

Python调用Tesseract-OCR完成图片OCR识别

Python调用Tesseract-OCR和Zxing完成图片OCR识别和二维码解码