1 简介
随着全面信息时代的到来,便捷可靠的身份认证技术越来越重要,传统的身份认证方法已无法满足信息安全的高要求,基于生物特征的身份识别技术应运而生.在目前已有的生物特征识别中,虹膜识别具有较高的稳定性,准确性和安全性,是综合性能指标评定最好的,被认为是最有前景的生物识别技术.因此,不论是识别算法还是应用研究方面,虹膜识别已成为现阶段一个热门的课题.虹膜身份识别系统主要包括虹膜图像采集,图像预处理(虹膜定位及归一化),特征提取和模式匹配这四部分.本文在系统分析了已有研究成果的基础上,对虹膜识别中的预处理,特征提取及模式匹配等方面进行了研究,采用基于巴特沃斯低通滤波器方法提取虹膜特征,并利用由粗到细的匹配方法完成识别.
2 部分代码
function?varargout?=?frequencydem(varargin)
% Author : Yingzi Eliza Du
% Version: 1.0
% Date ? : January, 27 2004
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Begin initialization code - DO NOT EDIT
gui_Singleton?=?1;
gui_State?=?struct('gui_Name', ? ? ??mfilename,?...
? ? ? ? ? ? ? ? ??'gui_Singleton', ?gui_Singleton,?...
? ? ? ? ? ? ? ? ??'gui_OpeningFcn',?@frequencydem_OpeningFcn,?...
? ? ? ? ? ? ? ? ??'gui_OutputFcn', ?@frequencydem_OutputFcn,?...
? ? ? ? ? ? ? ? ??'gui_LayoutFcn', [] ,?...
? ? ? ? ? ? ? ? ??'gui_Callback', ? []);
? ? ? ? ? ? ??
if?nargin?&?isstr(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
% End initialization code - DO NOT EDIT
%----------------------------------------------------------
% --- Executes just before frequencydem is made visible.
function?frequencydem_OpeningFcn(hObject,?eventdata,?handles,?varargin)
handles.output?=?hObject;
% Update handles structure
guidata(hObject,?handles);
movegui(hObject,'onscreen')% To display application onscreen
movegui(hObject,'center') ?% To display application in the center of screen
image_file?=?get(handles.nameEdit,'String');
im_original=image_read(char(image_file));
set(handles.Or_image,'HandleVisibility','OFF')
set(handles.filtered_image,'HandleVisibility','OFF');
set(handles.difference_image,'HandleVisibility','OFF');
set(handles.filt3D,'HandleVisibility','OFF');
set(handles.filt2D,'HandleVisibility','OFF');
set(handles.Or_image,'HandleVisibility','ON')
axes(handles.Or_image);
imagesc(im_original);
colormap(gray(256));
axis?equal;
axis?tight;
axis?off;
set(handles.Or_image,'HandleVisibility','OFF')
set(handles.Or_image,'XTickLabel',' ','YTickLabel',' ')
%----------------------------------------------------------
% --- Outputs from this function are returned to the command line.
function?varargout?=?frequencydem_OutputFcn(hObject,?eventdata,?handles)
varargout{1} =?handles.output;
%----------------------------------------------------------
% --- Executes during object creation, after setting all properties.
function?image_selection_CreateFcn(hObject,?eventdata,?handles)
if?ispc
% --- Executes on selection change in method_selection.
function?method_selection_Callback(hObject,?eventdata,?handles)
% hObject ? handle to method_selection (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles ? structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns method_selection contents as cell array
% ? ? ? contents{get(hObject,'Value')} returns selected item from method_selection
function?nameEdit_Callback(hObject,?eventdata,?handles)
% hObject ? handle to nameEdit (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles ? structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of nameEdit as text
% ? ? ? str2double(get(hObject,'String')) returns contents of nameEdit as a double
% --- Executes during object creation, after setting all properties.
function?butflyEdit_CreateFcn(hObject,?eventdata,?handles)
% hObject ? handle to butflyEdit (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles ? empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% ? ? ? See ISPC and COMPUTER.
if?ispc
? ?set(hObject,'BackgroundColor','white');
else
? ?set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function?butflyEdit_Callback(hObject,?eventdata,?handles)
% hObject ? handle to butflyEdit (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles ? structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of butflyEdit as text
% ? ? ? str2double(get(hObject,'String')) returns contents of butflyEdit as a double
3 仿真结果
?4 参考文献
[1]王小伟. 基于小波变换与Log Gabor滤波的虹膜识别系统的设计与实现. Diss. 山东大学, 2017.
部分理论引用网络文献,若有侵权联系博主删除。
|