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}); endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_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_selectionfunction 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 ispcset(hObject,'BackgroundColor','white'); elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); endfunction 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.
部分理论引用网络文献,若有侵权联系博主删除。
5 MATLAB代码与数据下载地址
见博客主页