# 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
没有合适的资源?快使用搜索试试~ 我知道了~
机器学习识别图片验证码(专门应付本科毕业设计).zip
共2000个文件
txt:1999个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 5 浏览量
2023-08-03
20:24:58
上传
评论
收藏 2.86MB ZIP 举报
温馨提示
机器学习识别图片验证码(专门应付本科毕业设计).zip
资源推荐
资源详情
资源评论
收起资源包目录
机器学习识别图片验证码(专门应付本科毕业设计).zip (2000个子文件)
README.md 2KB
9_30.txt 1KB
9_40.txt 1KB
9_78.txt 1KB
9_51.txt 1KB
1_76.txt 1KB
1_15.txt 1KB
9_74.txt 1KB
1_20.txt 1KB
9_23.txt 1KB
1_62.txt 1KB
1_54.txt 1KB
9_63.txt 1KB
9_11.txt 1KB
1_25.txt 1KB
1_29.txt 1KB
9_66.txt 1KB
1_73.txt 1KB
1_48.txt 1KB
1_22.txt 1KB
1_33.txt 1KB
9_4.txt 1KB
1_87.txt 1KB
9_35.txt 1KB
9_6.txt 1KB
1_10.txt 1KB
9_50.txt 1KB
1_1.txt 1KB
9_15.txt 1KB
1_88.txt 1KB
9_34.txt 1KB
1_32.txt 1KB
9_62.txt 1KB
9_54.txt 1KB
9_28.txt 1KB
9_20.txt 1KB
9_9.txt 1KB
1_50.txt 1KB
1_53.txt 1KB
1_5.txt 1KB
1_44.txt 1KB
9_59.txt 1KB
1_30.txt 1KB
1_52.txt 1KB
1_28.txt 1KB
1_21.txt 1KB
9_61.txt 1KB
9_71.txt 1KB
9_65.txt 1KB
1_3.txt 1KB
1_12.txt 1KB
9_88.txt 1KB
9_29.txt 1KB
1_57.txt 1KB
9_84.txt 1KB
1_2.txt 1KB
9_80.txt 1KB
1_27.txt 1KB
1_68.txt 1KB
9_43.txt 1KB
9_67.txt 1KB
9_83.txt 1KB
9_42.txt 1KB
1_89.txt 1KB
1_72.txt 1KB
9_0.txt 1KB
9_49.txt 1KB
9_37.txt 1KB
1_92.txt 1KB
1_43.txt 1KB
1_31.txt 1KB
1_18.txt 1KB
1_4.txt 1KB
1_55.txt 1KB
9_77.txt 1KB
9_60.txt 1KB
9_85.txt 1KB
1_67.txt 1KB
1_85.txt 1KB
9_45.txt 1KB
1_39.txt 1KB
9_27.txt 1KB
1_61.txt 1KB
9_52.txt 1KB
9_72.txt 1KB
1_84.txt 1KB
1_60.txt 1KB
1_35.txt 1KB
9_7.txt 1KB
9_76.txt 1KB
1_82.txt 1KB
9_46.txt 1KB
1_47.txt 1KB
1_74.txt 1KB
1_69.txt 1KB
1_41.txt 1KB
1_36.txt 1KB
9_1.txt 1KB
9_41.txt 1KB
9_33.txt 1KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
AbelZ_01
- 粉丝: 894
- 资源: 5441
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功