python识别验证码tesseract介绍与使用

一、什么是tesseract?

  光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。只能识别一些简单的验证码。

二、安装与使用

1、安装(Mac下安装)

brew install tesseract
//与python对接需要安装的包
pip3 install Pillow
pip3 install pytesseract

 2、下载语言库

(1)下载地址:https://github.com/tesseract-ocr/tessdata

根据自己的需求选择所要的语言库,在这里我们选择的是简体中文所以选择的库是:chi_sim.traineddata、eng.traineddata(已有,无需下载) 

(2)将文件拷贝到到:/usr/local/Cellar/tesseract/3.04.01_2/share/tessdata目录下。

(3)终端输入命令:tesseract --help

3、使用

(1)命令行直接识别

a、在终端打开图片,运行下图中命令

b、在文件11.txt中查看识别结果

注意:通过测试发现,这种方式一般只能识别纯数字或者数字比较多的验证码,如果字母多就会无法识别。

(2)在代码中识别

#!/usr/local/bin/python3.7

from PIL import Image
import pytesseract

# 打开图片
img = Image.open('Reptile/code.png')
img = img.convert('RGB')
# 识别图片
result = pytesseract.image_to_string(img)
print('识别结果:',result)

 注意:代码的识别度也不是很高,可以在代码中对图片进行灰度/二值化等处理,提高识别度。

原文地址:https://www.cnblogs.com/lxmtx/p/13082969.html