# -概要
本项目基于MATLAB完成数字验证码识别的GUI设计,图像处理,验证码生成、识别等功能。采用BP神经网络来实现对验证码图像的识别。验证码的识别,大概分为图片预处理、分割字符、识别字符三个过程,其中分割字符最为困难。本文采用基于遗传算法和最大熵优化的图像分割技术、大津法(OTSU)、自定义阈值三种技术进行字符分割,并作进一步分析。利用英国萨里大学提供的印刷体数字数据集,共10160张图片,90%的数据用于训练BP神经网络,剩余10%的数据用于测试,最终识别准确率达到93.47%,利用训练所得BP模型完成识别字符,最终验证码图像识别效果较佳。
# -成果
![image-20220121112741055](./md_img/image-20220121112741055.png)
# -说明
1. 项目内img目录下为0-9十类数字图片各1016张,code_source为验证码生成所用0-9十类数字图片各10张,code_img为生成的验证码图片,md_img存放README.md所用的图片。项目内"\*.m"皆为MATLAB源代码文件,"\*.mat"为已处理好的数据文件。
2. 程序内所有路径为必填项,若没有路径单击对于按钮将弹出警告框;
3. 程序内BPNN的参数都有默认取值,若不填写则按默认取值,如图,鼠标悬停输入框内,出现提示信息。
![image-20220121113408784](./md_img/image-20220121113408784.png)
同样的,验证码个数及灰度值都有默认取值。但是要注意,训练样本占比为必填项,没有默认取值。
4. 若项目路径下已有数据集文件,包括训练集、测试集数据,如“X_train.mat”时,不需要重新创建数据集再分割,单击载入已有数据按钮,设定参数即可继续。
5. 程序做了一定的异常处理,错误操作均会弹出提示信息(输入数据并没有作校验~~)。
6. 由于图片数据大,创建分割训练集、测试集耗时很长~~~~
# -演示
1. 打开MATLAB,运行“appgui.m”文件,即出现程序的主界面。
2. 第一模块“BPNN模型构建”中,在创建数据集中输入数据路径,**注意填入绝对路径,且最后必须有'\\'**,单击确定,弹出窗口,实时显示当前处理的图片。当创建数据集完成后,弹出提示框提示创建成功。将在项目路径下生成文件“inputs.mat”、“outputs.mat”。
<img src="./md_img/image-20220121114557125.png" alt="image-20220121114557125" style="zoom: 50%;" />
3. 第一模块“BPNN模型构建”中,在分割数据集中输入训练样本占比(小数形式),单击确定,等待分割完成。将在项目路径下生成文件“X_train.mat”、“y_train.mat”、“X_test.mat”、“y_test.mat”。
4. 第一模块“BPNN模型构建”中,在参数设定及网络训练中输入各个参数的值,单击训练,神经网络训练完成后,将在项目路径下生成文件“bp.mat”。
5. 第一模块“BPNN模型构建”中,单击测试,不可编辑的文本框内将产生测试结果。
6. 若对测试结果不满意,可返回步骤4,重新设定参数,重新训练网络。
7. 第二模块“生成验证码”中,输入字符数据路径,单击生成数据集,稍等片刻,将在项目路径下生成文件“codeInputs.mat”、“codeOutputs.mat”。
8. 第二模块“生成验证码”中,输入验证码存储路径,输入验证码个数,单击生成验证码,等待弹出提示框。即可在存储路径下生成指定个数的验证码图片。
![image-20220121115042533](./md_img/image-20220121115042533.png)
9. 第二模块“识别验证码”中,单击选择验证码按钮,选择一张验证码图片。单击识别按钮即可完成验证码识别。
10. 当验证码识别效果不佳时,可采用其他二值化方法,在二值化区域右侧的弹出式菜单可以选择二值化方法,若改用自定义level,默认取值0.9。再次点击识别即可重新识别验证码。
11. 若默认灰度level二值化效果同样不佳,此时可以修改灰度level取值。重新点击识别即可。
# -不足
由于验证码种类繁多,目前的验证码识别应用往往只能识别一类验证码,不具有普遍性。本文所完成的验证码识别仅仅**针对非粘连的数字验证码**,应用领域受限。毫无疑问,粘连验证码的字符分割与识别将更为困难,本项目尚未涉及该部分内容,这也是目前存在的不足之处。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源概览】 课程设计 基于MATLAB完成数字验证码识别源码+说明文档.zip课程设计 基于MATLAB完成数字验证码识别源码+说明文档.zip课程设计 基于MATLAB完成数字验证码识别源码+说明文档.zip 【资源说明】 高分项目源码:此资源是在校高分项目的完整源代码,经过导师的悉心指导与认可,答辩评审得分高达95分,项目的质量与深度有保障。 测试运行成功:所有的项目代码在上传前都经过了严格的测试,确保在功能上完全符合预期,您可以放心下载并使用。 适用人群广泛:该项目不仅适合计算机相关专业(如软件工程、计科、区块链、人工智能、电子信息、物联网、通信工程、自动化等)的在校学生和老师,还可以作为毕业设计、课程设计、作业或项目初期立项的演示材料。对于希望进阶学习的小白来说,同样是一个极佳的学习资源。 代码灵活性高:如果您具备一定的编程基础,可以在此代码基础上进行个性化的修改,以实现更多功能。当然,直接用于毕业设计、课程设计或作业也是完全可行的。 欢迎下载,与我一起交流学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
课程设计 基于MATLAB完成数字验证码识别源码+说明文档.zip (2000个子文件)
appgui.fig 170KB
buildDataGui.fig 21KB
LICENSE 1KB
appgui.m 34KB
buildDataGui.m 4KB
cutting.m 3KB
getCode.m 3KB
buildCodeSet.m 3KB
builddataset.m 3KB
ksw_ga_improve1.m 2KB
testcode.m 1KB
split_train_test.m 1KB
select_ga_improve.m 945B
ksw.m 659B
mutation_ga_improve.m 546B
cross_ga_improve.m 510B
bpann.m 478B
testbp.m 431B
trainbp.m 275B
X_test.mat 117KB
y_train.mat 598B
y_test.mat 265B
codeOutputs.mat 206B
部署说明文档.md 13KB
README.md 5KB
image-20220121112741055.png 356KB
image-20220121115042533.png 192KB
image-20220121113408784.png 59KB
image-20220121114557125.png 32KB
img001-00483.png 2KB
img001-00011.png 2KB
img009-00191.png 2KB
img001-00191.png 2KB
img009-00011.png 2KB
img009-00189.png 2KB
img009-00009.png 2KB
img001-00009.png 2KB
img001-00481.png 2KB
img001-00503.png 2KB
img001-00189.png 1KB
img009-00215.png 1KB
img009-00483.png 1KB
img001-00263.png 1KB
img009-00481.png 1KB
img001-00401.png 1KB
img001-00501.png 1KB
img009-00213.png 1KB
img001-00502.png 1KB
img001-00215.png 1KB
img001-00504.png 1KB
img009-00216.png 1KB
img009-00211.png 1KB
img001-00463.png 1KB
img001-00801.png 1KB
img001-00261.png 1KB
img009-00501.png 1KB
img001-00264.png 1KB
img001-00387.png 1KB
img009-00261.png 1KB
img001-00213.png 1KB
img009-00263.png 1KB
img001-00403.png 1KB
img009-00403.png 1KB
img001-00262.png 1KB
img001-00293.png 1KB
img001-00951.png 1KB
img009-00209.png 1KB
img001-00141.png 1KB
img009-00504.png 1KB
img009-00387.png 1KB
img009-00503.png 1KB
img009-00192.png 1KB
img009-00063.png 1KB
img001-00339.png 1KB
img001-00343.png 1KB
img001-00015.png 1KB
img009-00264.png 1KB
img001-00223.png 1KB
img001-00211.png 1KB
img001-00385.png 1KB
img001-00687.png 1KB
img001-00989.png 1KB
img009-00293.png 1KB
img009-00107.png 1KB
img009-00401.png 1KB
img001-00143.png 1KB
img001-00055.png 1KB
img001-00161.png 1KB
img001-00163.png 1KB
img001-00303.png 1KB
img001-00224.png 1KB
img001-00271.png 1KB
img001-00464.png 1KB
img009-00339.png 1KB
img001-00216.png 1KB
img001-00072.png 1KB
img009-00115.png 1KB
img009-00116.png 1KB
img001-00105.png 1KB
img001-00402.png 1KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
IT狂飙
- 粉丝: 4829
- 资源: 2653
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功