身份证识别基于matlab GUI BP神经网络身份证识别含Matlab源码 2239期
Posted 海神之光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了身份证识别基于matlab GUI BP神经网络身份证识别含Matlab源码 2239期相关的知识,希望对你有一定的参考价值。
⛄一、身份证号码识别简介
1 引言
当今是一个信息高度发达的时代,对于每个公民而言身份证那一连串的数字体现了个人信息的唯一性,出于保障公民合法权益和社会治安的考虑,越来越多的行业都开始建立自己的安全保障体系,其中最为关键的就是身份证号码登记管理。身份证号码的录入全部采用手动输入的方式,这是项非常繁琐的工作,手动录入方式一方面耗费了大量的人力,浪费了时间,另一方面又容易出错,录入正确率偏低。因此,如何快速录入身份证号码已成
为迫切需要解决的问题
随着人工神经网络技术的快速发展,神经网络在处理数据方面具备快速性和高效性,图像识别技术的研究和应用也取得了突破性进展,应用神经网络识别身份证号码,可以提高识别的准确性和鲁棒性。因此, 笔者利用MATLAB GUI和神经网络设计开发了一个可快速识别身份证号码的仿真平台。
2 BP神经网络
人工神经网络是对人脑或者生物神经网络若干基本特性的抽象和模拟,使机器拥有和人脑一样的感知、学习和推理能力。神经网络系统是一个复杂而庞大的非线性系统,它的信息主要由若干个结构简单的处理单元按照某种连接方式对数据进行映射来传递。
BP神经网络是一种多层前馈神经网络,已成为应用最广、发展最成熟的一种人工神经网络,由输入层、隐含层和输出层组成,三层BP神经网络的拓扑结构如图1所示,层与层之间采用全互连方式,同一层之间不存在相互连接,隐含层可以有一层或多层。由于BP神经网络具有完善的理论体系、清晰的算法流程、清晰的数据识别和模式功能。绝大部分解决非线性系统问题的神经网络模型都采用BP神经网络或其变化形式。它也是前向网络的核
心部分,体现了人工神经网络的精华。
图1三层BP神经网络的拓扑结构
MATLAB的神经网络工具箱(Neural NetworkToolbox)功能完善, 提供了神经网络的建立、训练和模拟等函数,以及各种改进训练算法函数,用户可以很容易地设计和模拟神经网络,也可以在MATLAB源代码的基础上进行适当修改, 形成自己的工具包以满足实际需要。本文采用的训练函数是具有较快收敛速度且能避免局部最小问题出现的train gdm函数, BP网络的输入与输出节点数根据实际情况来决定,与网络性能无关,网络结构最关键是确定隐含层节点数,经反复验证,本系统当隐含层节点数为35时,计算误差MSE最小。
⛄二、部分源代码
function varargout = id_rec_gui(varargin)
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @id_rec_gui_OpeningFcn, …
‘gui_OutputFcn’, @id_rec_gui_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin1)
gui_State.gui_Callback = str2func(varargin1);
end
if nargout
[varargout1:nargout] = gui_mainfcn(gui_State, varargin:);
else
gui_mainfcn(gui_State, varargin:);
end
function id_rec_gui_OpeningFcn(hObject, ~, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = id_rec_gui_OutputFcn(~, ~, handles)
varargout1 = handles.output;
%----------------------------------GUI系统自动生成的初始化代码,无需修改---------------------------------------
%设置西安电子科技大学LOGO坐标图片
Background=imread(‘logo.jpg’);
axes(handles.background)
imshow(Background)
function browse_Callback(~, ~, handles) %选择图片按钮的回调函数
global pathname filenames
[filenames,pathname]=uigetfile(‘.bmp;.jpg;.png;.gif’,‘All Image Files’;‘.’,‘All Files’ ,‘MultiSelect’,‘on’);
if ~isequal(filenames,0)
init_controls(handles)
tic
preprocess(handles)
process(handles)
rt=toc;
set(handles.rtime,‘String’,rt)
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]成利敏,孙亮,王宁.基于BP神经网络和GUI的身份证号码识别系统[J].廊坊师范学院学报(自然科学版). 2019,19(04)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
以上是关于身份证识别基于matlab GUI BP神经网络身份证识别含Matlab源码 2239期的主要内容,如果未能解决你的问题,请参考以下文章
车牌识别基于matlab GUI BP神经网络车牌识别含Matlab源码 858期
手写数字识别基于matlab GUI BP神经网络手写数字识别含Matlab源码 1118期
人脸识别基于matlab GUI BP神经网络双人脸识别(含识别率)含Matlab源码 2383期