先去官网: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



