【身份证识别】基于matlab GUI BP神经网络身份证识别【含Matlab源码 2239期】
创始人
2024-04-11 07:31:08

⛄一、身份证号码识别简介

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(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1: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)
varargout{1} = 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 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

相关内容

热门资讯

可能影响未成年人身心健康的网络... 本文转自【新闻联播】;近日,国家互联网信息办公室等八部门发布《可能影响未成年人身心健康的网络信息分类...
832套!顺义仁和镇临河村回迁... 1月23日,仁和镇临河村回迁安置房项目景盛花园二期启动选房工作,832套崭新住房、943个停车位将为...
金百泽(301041.SZ)发... 金百泽(301041.SZ)披露2025年度业绩预告,公司预计归属于上市公司股东的净利润1600万元...
禾迈股份:预计2025年亏损1... 转自:证券时报人民财讯1月23日电,禾迈股份(688032)1月23日公告,预计2025年归属于母公...
钧达股份:钙钛矿光伏技术在太空... 钧达股份1月23日公告,1月15日钧达股份披露,公司以现金出资3000万元认购星翼芯能新增注册资本4...