2022-06-14 13:02:12 索炜达电子 611
文件编号:B8
文件大小:146M
猿创承诺:该项目亲测正常运行,提供部署视频,需远程调试部署需另外收费,确保正常使用,不能正常使用全额退款。
简要概述:本项目基于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的参数都有默认取值,若不填写则按默认取值,如图,鼠标悬停输入框内,出现提示信息。
4.同样的,验证码个数及灰度值都有默认取值。但是要注意,训练样本占比为必填项,没有默认取值。
5.若项目路径下已有数据集文件,包括训练集、测试集数据,如“X_train.mat”时,不需要重新创建数据集再分割,单击载入已有数据按钮,设定参数即可继续。
6.程序做了一定的异常处理,错误操作均会弹出提示信息(输入数据并没有作校验)。
7.由于图片数据大,创建分割训练集、测试集耗时很长
运行步骤:
1.打开MATLAB,运行“appgui.m”文件,即出现程序的主界面。
2.第一模块“BPNN模型构建”中,在创建数据集中输入数据路径,注意填入绝对路径,且最后必须有'\',单击确定,弹出窗口,实时显示当前处理的图片。当创建数据集完成后,弹出提示框提示创建成功。将在项目路径下生成文件“inputs.mat”、“outputs.mat”。
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.第二模块“生成验证码”中,输入验证码存储路径,输入验证码个数,单击生成验证码,等待弹出提示框。即可在存储路径下生成指定个数的验证码图片。
9第二模块“识别验证码”中,单击选择验证码按钮,选择一张验证码图片。单击识别按钮即可完成验证码识别。
10.当验证码识别效果不佳时,可采用其他二值化方法,在二值化区域右侧的弹出式菜单可以选择二值化方法,若改用自定义level,默认取值0.9。再次点击识别即可重新识别验证码。
11.若默认灰度level二值化效果同样不佳,此时可以修改灰度level取值。重新点击识别即可。
按需写作:
演示视频:
点击查看:系统演示视频
运行效果:
远程协助:
温馨提示:索炜达.猿创官方提供收费远程协助,确保您项目运行成功。
点击查看:远程协助相关事项
我们提供完整项目文件清单如下:
文件目录
├ 1.项目源码
├ 2.运行截图
└ 3.演示视频