【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

2022-06-14 13:02:12      索炜达电子      611     

文件编号:B8

文件大小:146M

开发环境:Matlab2020

猿创承诺:该项目亲测正常运行,提供部署视频,需远程调试部署需另外收费,确保正常使用,不能正常使用全额退款。

简要概述:本项目基于MATLAB完成数字验证码识别的GUI设计,图像处理,验证码生成、识别等功能。采用BP神经网络来实现对验证码图像的识别。验证码的识别,大概分为图片预处理、分割字符、识别字符三个过程,其中分割字符最为困难。本文采用基于遗传算法和最大熵优化的图像分割技术、大津法(OTSU)、自定义阈值三种技术进行字符分割,并作进一步分析。利用英国萨里大学提供的印刷体数字数据集,共10160张图片,90%的数据用于训练BP神经网络,剩余10%的数据用于测试,最终识别准确率达到93.47%,利用训练所得BP模型完成识别字符,最终验证码图像识别效果较佳。

项目说明:

1.项目内img目录下为0-9十类数字图片各1016张,code_source为验证码生成所用0-9十类数字图片各10张,code_img为生成的验证码图片,md_img存放README.md所用的图片。项目内"*.m"皆为MATLAB源代码文件,"*.mat"为已处理好的数据文件。

2.程序内所有路径为必填项,若没有路径单击对于按钮将弹出警告框;

3.程序内BPNN的参数都有默认取值,若不填写则按默认取值,如图,鼠标悬停输入框内,出现提示信息。

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

4.同样的,验证码个数及灰度值都有默认取值。但是要注意,训练样本占比为必填项,没有默认取值。

5.若项目路径下已有数据集文件,包括训练集、测试集数据,如“X_train.mat”时,不需要重新创建数据集再分割,单击载入已有数据按钮,设定参数即可继续。

6.程序做了一定的异常处理,错误操作均会弹出提示信息(输入数据并没有作校验)。

7.由于图片数据大,创建分割训练集、测试集耗时很长

运行步骤:

1.打开MATLAB,运行“appgui.m”文件,即出现程序的主界面。

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

2.第一模块“BPNN模型构建”中,在创建数据集中输入数据路径,注意填入绝对路径,且最后必须有'\',单击确定,弹出窗口,实时显示当前处理的图片。当创建数据集完成后,弹出提示框提示创建成功。将在项目路径下生成文件“inputs.mat”、“outputs.mat”。

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

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.第二模块“生成验证码”中,输入验证码存储路径,输入验证码个数,单击生成验证码,等待弹出提示框。即可在存储路径下生成指定个数的验证码图片。

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

9第二模块“识别验证码”中,单击选择验证码按钮,选择一张验证码图片。单击识别按钮即可完成验证码识别。

10.当验证码识别效果不佳时,可采用其他二值化方法,在二值化区域右侧的弹出式菜单可以选择二值化方法,若改用自定义level,默认取值0.9。再次点击识别即可重新识别验证码。

11.若默认灰度level二值化效果同样不佳,此时可以修改灰度level取值。重新点击识别即可。

按需写作:

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)


演示视频:

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

点击查看:系统演示视频

运行效果:

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

【B8】深度学习之Matlab BP神经网络数字验证码识别系统(GUI界面)

远程协助:

温馨提示:索炜达.猿创官方提供收费远程协助,确保您项目运行成功。

点击查看:远程协助相关事项

我们提供完整项目文件清单如下:

文件目录

 ├ 1.项目源码

 ├ 2.运行截图

 └ 3.演示视频

TAG数字验证码
  • 1 次
  • 3000 分