# Decaptcha
English version Readme is available [here](README-EN.md) .
通过简单的图像识别算法来完成验证码识别,打算把机器学习中的分类算法全部使用一遍。
## 使用方法
1. 爬取验证码
2. 对图像做处理并切分
3. 手工标注数据
4. 导入训练集
5. 使用测试集
## 前期准备
1. Image (图像处理库)
- [jpeg](http://www.ijg.org/files/)
- [zlib](http://www.zlib.net)
- [PIL](http://effbot.org/imagingbook/introduction.htm#using-the-image-class)
2. numpy (数学处理库)
3. ImageEnhance (图像处理库)
```Python
enhancer = ImageEnhance.Contrast(img) # 增加对比对
img = enhancer.enhance(2)
enhancer = ImageEnhance.Sharpness(img) # 锐化
img = enhancer.enhance(2)
enhancer = ImageEnhance.Brightness(img) # 增加亮度
img = enhancer.enhance(2)
```
## 图像处理
### 静态图片
1. 清除图片噪点
2. 清除图片干扰线
3. 切割图片
4. 信息输出
### 动态图片
1. 按帧转存 GIF
2. 读取每个 GIF 的 Duration 属性
3. 找到 Duration 最长的图片,后同静态图片处理
## 识别算法
### KNN
```Python
# kNN algorithm
def classify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0]
diffMat = tile(inX, (dataSetSize, 1)) - dataSet
sqDiffMat = diffMat ** 2
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances ** 0.5
sortedDistIndicies = distances.argsort()
classCount = {}
for i in range(k):
voteIlabel = labels[sortedDistIndicies[i]] # changed
classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1
sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)
return sortedClassCount[0][0]
```
### SVM
根据算法的性质,可以问题设定成一个二分类问题:识别数字1和2(当然也可以是其他的任意两个数字)。
## 参考
- http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html?js=1#svm-toy-js
- http://www.pami.sjtu.edu.cn/people/gpliu/document/libsvm_src.pdf
- Machine Learning in Action
## License
MIT
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
通过简单的图像识别算法来完成验证码识别,打算把机器学习中的分类算法全部使用一遍。 使用方法: 1、爬取验证码 2、对图像做处理并切分 3、手工标注数据 4、导入训练集 5、使用测试集 图像处理: 1、静态图片 清除图片噪点 清除图片干扰线 切割图片 信息输出 2、动态图片 按帧转存 GIF 读取每个 GIF 的 Duration 属性 找到 Duration 最长的图片,后同静态图片处理 识别算法:KNN
资源推荐
资源详情
资源评论
收起资源包目录
本科毕业设计Python基于机器学习的识别图片验证码源码,图片验证码识别系统源码+安装使用说明 (5908个子文件)
MJ49.jpg 1KB
MJ293.jpg 1KB
MJ190.jpg 1KB
MJ242.jpg 1KB
MJ174.jpg 1KB
MJ292.jpg 1KB
MJ377.jpg 1KB
MJ353.jpg 1KB
MJ206.jpg 1KB
MJ375.jpg 1KB
MJ250.jpg 1KB
MJ16.jpg 1KB
MJ232.jpg 1KB
MJ381.jpg 1KB
MJ246.jpg 1KB
MJ109.jpg 1KB
MJ315.jpg 1KB
MJ354.jpg 1KB
MJ333.jpg 1KB
MJ147.jpg 1KB
MJ278.jpg 1KB
MJ231.jpg 1KB
MJ285.jpg 1KB
MJ7.jpg 1KB
MJ97.jpg 1KB
MJ207.jpg 1KB
MJ227.jpg 1KB
MJ84.jpg 1KB
MJ192.jpg 1KB
MJ136.jpg 1KB
MJ168.jpg 1KB
MJ88.jpg 1KB
MJ68.jpg 1KB
MJ33.jpg 1KB
MJ152.jpg 1KB
MJ210.jpg 1KB
MJ26.jpg 1KB
MJ21.jpg 1KB
MJ263.jpg 1KB
MJ289.jpg 1KB
MJ63.jpg 1KB
MJ200.jpg 1KB
MJ277.jpg 1KB
MJ397.jpg 1KB
MJ122.jpg 1KB
MJ239.jpg 1KB
MJ361.jpg 1KB
MJ143.jpg 1KB
MJ368.jpg 1KB
MJ352.jpg 1KB
MJ336.jpg 1KB
MJ32.jpg 1KB
MJ137.jpg 1KB
MJ309.jpg 1KB
MJ196.jpg 1KB
MJ317.jpg 1KB
MJ304.jpg 1KB
MJ389.jpg 1KB
MJ0.jpg 1KB
MJ321.jpg 1KB
MJ52.jpg 1KB
MJ185.jpg 1KB
MJ70.jpg 1KB
MJ130.jpg 1KB
MJ312.jpg 1KB
MJ270.jpg 1KB
MJ3.jpg 1KB
MJ46.jpg 1024B
MJ135.jpg 1023B
MJ19.jpg 1023B
MJ198.jpg 1023B
MJ290.jpg 1022B
MJ341.jpg 1022B
MJ23.jpg 1018B
MJ113.jpg 1018B
MJ310.jpg 1017B
MJ11.jpg 1016B
MJ55.jpg 1016B
MJ307.jpg 1014B
MJ205.jpg 1013B
MJ115.jpg 1013B
MJ393.jpg 1013B
MJ133.jpg 1012B
MJ260.jpg 1011B
MJ378.jpg 1011B
MJ254.jpg 1011B
MJ330.jpg 1010B
MJ176.jpg 1009B
MJ47.jpg 1007B
MJ83.jpg 1007B
MJ245.jpg 1007B
MJ1.jpg 1007B
MJ351.jpg 1007B
MJ93.jpg 1007B
MJ273.jpg 1007B
MJ249.jpg 1005B
MJ264.jpg 1005B
MJ150.jpg 1005B
MJ129.jpg 1004B
MJ8.jpg 1003B
共 5908 条
- 1
- 2
- 3
- 4
- 5
- 6
- 60
云哲-吉吉2021
- 粉丝: 3214
- 资源: 1130
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页