python验证码处理(1)

目录javascript

  这篇博客及以后的系列,我会向你们介绍各类验证码的识别。包括普通图形验证码,极验滑动验证码,点触验证码,微博宫格验证码。


java

一.普通图形验证码

  以前的博客已向你们介绍了简单的图形验证码的处理过程,可是会和实际的有所差异,这是由于验证码内的多余线条与图案干扰了图片的识别。所以,对于这种状况,须要咱们进行一些处理,而后才能识别出正确的结果,下面是进行处理的方法。
app

1.灰度处理

  能够用Image对象的convert()方法传入参数L,就能够把图片转化为灰度图像,以下代码:code

img = Image.open('1.jpg')
image = img.convert('L')
image.show()

结果为:
对象

2.二值化处理

  能够传入1进行二值化处理,以下代码:blog

img = Image.open('1.jpg')
image = img.convert('1')
image.show()

结果为:
图片

  还能够指定二值化的阈值,默认的阈值是127,要指定的话必需要先转化为灰度图像,再指定二值化的阈值。代码以下:ip

image = Image.open('1.jpg')
# 先转化为灰度图片
image = image.convert('L')
threshold = 180 # 设置阈值
my = []
for i in range(256):
    if i < threshold:
        my.append(0)
    else:
        my.append(1)

# 二值化处理
image = image.point(my,'1')
image.show()

  这里原来的验证码中的线条已经去除,验证码变得很清楚。这个时候从新识别验证码,结果以下:
博客

相关文章
相关标签/搜索