求此类验证码如何识别,我代码中只简单处理了 但是效果十分不明显。
imageL = image.convert('L')
imageE = imageL.point(lambda x: 0 if x < 110 else 255)
borderimgL = imageE.convert('L')
sleep(1)
# 去掉非法字符,只保留字母数字
ltext = image_to_string(enhancerimg)
ltext = re.sub("\W", "", ltext) # 去掉非字母字符
处理这种单纯验证码成功率还能接受
验证码的识别需要先记录生成的字符,然后再将输入的字符与生成的字符进行比较,比较一致,就表明验证通过,否则就是验证失败,然后刷新验证码,重新验证
你说的是背景图不要嘛?只需要单纯的的子母和数字的话,把背景图的代码去掉
用机器学习的方法比较好,比如SVM。首先对验证码做一个简单的处理,二值化,去噪,切割,手动分类,然后去标记。用机器学习去训练,识别率挺高的。
不过这类验证码现在感觉,我个人感觉,落后了。