# 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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 毕业设计 基于Python机器学习识别图片验证码源码+详细文档+全部数据资料 高分项目.zip毕业设计 基于Python机器学习识别图片验证码源码+详细文档+全部数据资料 高分项目.zip 【备注】 1、该项目是高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过mac/window10/11/linux测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计 基于Python机器学习识别图片验证码源码+详细文档+全部数据资料 高分项目.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
资源评论
不走小道
- 粉丝: 3221
- 资源: 5113
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功