栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬虫-OCR技术识别验证码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫-OCR技术识别验证码

一,OCR的安装

先去官网:Index of /tesseract (uni-mannheim.de)

仔细找一下,下载tesseract-ocr-setup-4.00.00dev.exe这个文件,大概有40MB。然后根据安装指引直接安装即可。***记住你的安装地址,待会需要用来设置环境变量***

安装完后,如图所示:

这里有个tessdata文件夹,是一个语言包,你需要识别的语言包都需要往这里面下载。

二,安装完成之后来设置环境变量

这一步可能有点繁杂,需要一点耐心

win10,在设置-系统-关于里。找到这个高级系统设置 

接下来肯定是点击环境变量了

 

现在,选中Path这个系统变量, 再点击编辑

点击新建,将一开始安装的默认地址新建到path里面就好了,记住:设置完点确定!!

 好了,第一步的环境变量设置完成。

第二步,继续点击系统变量的新建

设置一个变量名为:TESSDATA_PREFIX的系统变量,值为tessdata这个语言文件夹的地址

点击两次确定后,大功告成。

三,安装python可用的pytesseract

接下来,在CMD里面安装pytesseract。

pip install pytesseract

 如果不行就是pip3 install pytesseract

之后,可以pip list查看是否安装成功,也可以tesseract -v 查看版本信息。如果都能正常输出,就是没有问题

 四,使用ocr验证码识别

从网上随机获取一张验证码图片,保存在跟程序文件一致的目录中

如果验证码图片有干扰信息,会导致无法识别,比如在验证码图片上有浅色的线条等。这些干扰信息相当于需要识别的验证字符,颜色上会更浅。为了消除这一干扰,可以选择使用numpy库,将图形转换为NumPy数组。

具体代码如下

import pytesseract
from PIL import Image
import numpy
#导入图片文件的地址
image = Image.open(r'D:新建文件夹python爬虫爬虫文件夹项目实战文件夹12355.png') 

#将图片转换为灰度图像
arrayd=image.convert("L")

#设置阀值为200,超过这个阀值,图片像素设置为255,否则让像素为0,表示黑色
#如果发现识别不准确,可以适当的调整这个阀值
thud=180

#将图片转换为NumPy数组
arrd=numpy.array(arrayd)

arrd=numpy.where(arrd > thud,255,0)
image=Image.fromarray(arrd.astype("uint8"))
print(pytesseract.image_to_string(image))

验证码图片如下

 

 输出结果为cx47

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021760.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号