python-使用内置库pytesseract实现图片验证码的识别
环境准备:
1、安装Tesseract模块
git文档地址:https://digi.bib.uni-mannheim.de/tesseract/
百度网盘下载地址:
链接:https://pan.baidu.com/s/16RoJ19WynWOKI4Zpr0bKzA
提取码:5hst
下载后右击安装即可
2、配置环境变量:
编辑 系统变量里面 path,添加下面的安装路径:D:\Program Files\Tesseract-OCR(填写自己的实际安装路径)
3、安装python的第三方库:
pip install pillow #一个python的图像处理库,pytesseract依赖
pip install pytesseract
4、修改pytesseract.py文件,指定tesseract.exe安装路径
编辑pytesseract.py文件(此步骤必须做,否则运行代码时会报错):
tesseract_cmd = ‘D:\Program Files\Tesseract-OCR‘
代码实现
验证码识别方法之一,简单验证码,代码可直接使用
import requestsfrom PIL import Imageimport pytesseract# 验证码地址url = "http://cloud.xxxx.com/checkCode?0.7337270680854053"response = requests.get(url).content#将图片写入文件with open(‘test.png‘,‘wb‘) as f: f.write(response)#识别验证码#第一步:通过内置模块PIL打开文件image = Image.open(‘test.png‘)image = image.convert(‘L‘) #转化为灰度图threshold = 160 #设定的二值化阈值table = [] #table是设定的一个表,下面的for循环可以理解为一个规则,小于阈值的,就设定为0,大于阈值的,就设定为1for i in range(256): if i < threshold: table.append(0) else: table.append(1)image = image.point(table,‘1‘) #对灰度图进行二值化处理,按照table的规则(也就是上面的for循环)image.show()result = pytesseract.image_to_string(image) #对去噪后的图片进行识别print(‘图片内容为:‘,result)
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16