简单验证码的暴力识别
来源:互联网 发布:java语言入门 编辑:程序博客网 时间:2024/05/16 03:47
模拟登陆的时候经常遇到验证码。python的PyTesser库识别能力不是很理想。像谷歌那样的验证码估计只能靠识别每个字符的规律,棘手。本文针对于简单的验证码进行识别(简单是指:图中数字位置确定),采用特征库匹配的方式,如此图。
思想:
1、特征库的收集:下载多张左右的验证码图片,用filter(ImageFilter.CONTOUR).convert('1')进行滤镜处理和转成黑白图。过滤可以弱化图片锯齿。根据每个数字的坐标区域,对图片进行切割,分离出每个位置的数字。然后找出每个位置的质量比较好的数字,纳入到特征库。
2、将要识别的验证码进行filter(ImageFilter.CONTOUR).convert('1')过滤处理,然后对每个数字逐一做如下的匹配:依次从所在位置的特征库中取出一张数字,然后对这两个按照像素,逐个位置进行异或,统计出255的点数,选出白色点数255最少的图片。该位置的所有数字都比较完后白色点数最少的数字就是最相似的数字了。
此方法对于这种形式的验证码成功率还是有70%左右的。很土很暴力。
-------------------------------------------------------------------------------------------
登录的时候,有个比较恶心的问题是要让服务器知道你提交的是哪一次的验证码。这就要用到cookie,下载图片时候会得到一个cookie,然后用这个cookie再post此验证码的识别值。
- 简单验证码的暴力识别
- 简单验证码的识别
- 识别简单的验证码
- 简单验证码识别
- 简单验证码识别
- 简单验证码识别
- 简单验证码识别
- 简单验证码识别
- 简单验证码识别
- 简单的图形验证码识别代码
- vb.net 简单的验证码识别
- 一个简单的验证码识别
- AAuto - 简单的验证码识别
- 简单图片数字验证码的识别
- SVM对简单验证码的识别
- 简单验证码识别的python脚本
- Python简单的验证码识别
- 【图像识别】简单验证码识别
- Linux logo图片大小800x600的不显示
- DBUtils介绍
- OO思想 (面向对象思想)
- Hadoop
- Linux常用命令大全
- 简单验证码的暴力识别
- Cocos2dx 中文支持
- Activity.startActivityForResult
- 去掉vmware workstation 全屏时上方的悬浮框
- gitlab 升级到5.0的严重注意事项
- cocos2d中CCCallFunc、CCCallFuncN和CCCallFuncND的区别
- 新建项目Android Support library not installed问题
- java保留两位小数4种方法
- 昂达V971刷回1.5.5 线刷了以后,出现错误讯息"failed because no connected device ,current step is 17"