python验证码处理(1)

阿里云2000元红包!本站用户参与享受九折优惠!

目录

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

一.普通图形验证码

  之前的博客已向大家介绍了简单的图形验证码的处理过程,但是会和实际的有所差别,这是因为验证码内的多余线条与图案干扰了图片的识别。因此,对于这种情况,需要我们进行一些处理,然后才能识别出正确的结果,下面是进行处理的方法。

1.灰度处理

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

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

结果为:

2.二值化处理

  可以传入1进行二值化处理,如下代码:

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

结果为:

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

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()

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

https://www.cnblogs.com/ITXiaoAng/p/11828100.html

Python量化投资网携手4326手游为资深游戏玩家推荐:《《梦幻西游》:2019年10月2日维护公告:双节同乐福利盈门

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论