一、Python爬虫验证码识别
1、开发环境
- tesseract
- Python3 :PIL pytesseract
关于环境搭建网上教程很多,环境变量配置好后,终端输入
tesseract -v
这就代表环境搭建成功
tesseract 123.jpg result -l eng
result 表示输出文档名
-l 表示选择的语言
2、原始数据数据
3、识别大概步骤
- 图像二值化
- 去除图像噪点
- tesseract识别
from PIL import Image
import pytesseract
# 去除噪点
def clear_noise (img) : # img:图片地址
white = (255 ,255 ,255 ,255)
black = (0 ,0 ,0 ,255)
# img = Image.open('/home/yang/png/0.png') # 读入图片
pixdata = img.load()
X = img.size[0 ] - 1 # 因为我校的验证码二值化后正好剩下一圈宽度为一像素的白边,所以这么处理了
Y = img.size[1 ] -1
def icolor(RGBA):
if RGBA == white: return(1)
else:
return(0)
for y in range(Y):
for x in range(X):
if (x<1 or y<1):
pass
else:
if icolor(pixdata[x,y]) == 1:
pass
else:
if (
icolor(pixdata[x+1,y])+
icolor(pixdata[x,y+1])+
icolor(pixdata[x-1,y])+
icolor(pixdata[x,y-1])+
icolor(pixdata[x-1,y-1])+
icolor(pixdata[