利用Python轻松搞定数字英文验证码,搞定Python反爬( 二 )


  • 通常图像处理的流程如下图 , 验证码的完整预处理为步骤二
在实际中 , 我们通常的预处理步骤为:1、灰度化2、二值化3、去噪
  • 图像处理一般指数字图像处理 。 数字图像是指工业相机、摄像机、扫描仪等设备经过摄像得到的一个大的二维数组 , 该数组的元素称为像素 , 其值称为灰度值
  • 在计算机中 , 按照颜色和灰度的多少可以将图像分为二位图像 , 灰度图像、索引图像和真彩色RGB图像四种基本类型 。 大多数图像处理软件和python库都支持这四种类型的图像
3.1、二值图像一幅二值图像的二维矩阵仅有0 , 1两个值构成 。 “0”代表黑色 , “1”代表白色由于每一个像素(矩阵中每一个元素)取值仅有0 , 1两种可能 , 所以计算机中二值图像的数据类型通常为1个二进制位
3.2、灰度图像灰度图像矩阵元素的取值范围通常为[0,255] 。 因此其数据类型一般为8位无符号整数的(int8),这就是人们经常提到的256灰度图像0表示纯黑色 , 255表示纯白色 , 中间的数字从小到大表示由黑到白的过渡色二值图像可以看成是灰度图像的一个特例
3.3、索引图像索引图像的文件结构比较复杂 , 除去存放图像的二维矩阵外 , 还包括一个称之为颜色索引矩阵的MAP的二维数组MAP的大小由存放图像的矩阵元素值域决定 , 如矩阵元素值域位[0,255] , 则MAP矩阵的大小为256x3 , 用MAP=[RGB]表示MAP中每一行的三个元素分别指定该行对应颜色的红、绿、蓝单色值
3.4、处理实例import timeimport requestsfrom PIL import Imagefrom PIL.ImageShow import showimport pytesseract# 读取图片img = Image.open(".\\2.png")show(img)gray = img.convert('L')show(gray)for i in range(1,100,9):bw = gray.point(lambda x:0 if x
利用Python轻松搞定数字英文验证码,搞定Python反爬文章插图
识别验证码并显示
【利用Python轻松搞定数字英文验证码,搞定Python反爬】import timeimport requestsfrom PIL import Imagefrom PIL.ImageShow import showimport pytesseract# 读取图片img = Image.open(".\\2.png")# show(img)gray = img.convert('L')# show(gray)for i in range(1,100,9):bw = gray.point(lambda x:0 if x
利用Python轻松搞定数字英文验证码,搞定Python反爬文章插图