一、滤波器虹膜识别简介

理论知识参照文献链接:基于加权Gabor滤波器的虹膜识别

二、部分源代码

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 ispcset(hObject,'BackgroundColor','white');
elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end%----------------------------------------------------------
% Executes on button press in apply_button.
function apply_button_Callback(hObject, eventdata, handles)image_file = get(handles.nameEdit,'String');  % to read the image filename selected
im_original=image_read(char(image_file));  % filename
% set(handles.Or_image,'HandleVisibility','ON')  % to make plot 1 visible for original image plot
% image(im_original);
% colormap(gray(256));
% axis image;
% axis off;
% set(handles.filtered_image,'HandleVisibility','OFF') % to make plot 2 unvisible to the original image plotset(handles.Or_image,'XTickLabel',' ','YTickLabel',' ') % to get rid of tick labels
method_number = get(handles.method_selection,'Value'); % selected method
t = get(handles.cutoffEdit,'String');
F_cut = str2num (t);
if F_cut <= 0msgbox ('Please input meaningful cut off frequency');return
end;
% For gaussian blur and USM-Filter method
switch method_numbercase { 1 } %Ideal Filter[im_filtered, H] = ideal_low(im_original, F_cut);case { 2 }[im_filtered, H] = ideal_high(im_original, F_cut);case { 3 } [im_filtered, H] = gaussian_low(im_original,F_cut);case { 4 }[im_filtered, H]= gaussian_high(im_original, F_cut);case { 5 }t = get(handles.butflyEdit,'String');n = str2num (t);if t <= 0msgbox('Invalid order number!');return;end;[im_filtered, H] = butterworth_low(im_original, F_cut,n);case { 6 }t = get(handles.butflyEdit,'String');n = str2num (t);if t <= 0msgbox('Invalid order number!');return;end;[im_filtered, H] = butterworth_high(im_original, F_cut,n);end;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.filtered_image,'HandleVisibility','ON') ; % to make plot 2 visible to the filtered image plot
axes(handles.filtered_image);
imagesc(im_filtered) % to plot filtered imagecolormap(gray(256));
axis equal;
axis tight;
axis off;
set(handles.filtered_image,'HandleVisibility','OFF')
set(handles.difference_image,'HandleVisibility','ON');
axes(handles.difference_image);
dif_image = im_filtered- im_original;
imagesc(dif_image);
colormap(gray(256));
axis equal;
axis tight;
axis off;
set(handles.difference_image,'HandleVisibility','OFF')
set(handles.filt2D,'HandleVisibility','ON');
axes(handles.filt2D);
imagesc(H);
colormap(gray(256));
axis equal;
axis tight;
axis off;
set(handles.filt2D,'HandleVisibility','OFF');
set(handles.filt3D,'HandleVisibility','ON');
axes(handles.filt3D);
[co,ro]=size(H);surfl(H);set(handles.filt3D,'HandleVisibility','OFF');%----------------------------------------------------------
% --- Executes on button press in close_button.
function close_button_Callback(hObject, eventdata, handles)
close all; % to close GUI%----------------------------------------------------------
% --- Executes during object creation, after setting all properties.
function method_selection_CreateFcn(hObject, eventdata, handles)
if ispcset(hObject,'BackgroundColor','white');
elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end% --- Executes during object creation, after setting all properties.
function nameEdit_CreateFcn(hObject, eventdata, handles)
% hObject    handle to nameEdit
% 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'));
end%Read all kinds of image files
function im_original=image_read(image_file)
lg=length(image_file);
if strcmpi(image_file(lg-2:lg),'mat') | strcmpi(image_file(lg-2:lg),'dat') im_original=load(image_file);
else
im_original=imread(char(image_file));end;
im_original = double(im_original);
t=size(im_original,3);
if t==3imt=floor((im(:,:,1)+im(:,:,2)+im(:,:,3))/3);clear im_original;im_original=imt;clear imt;
end;
t=size(im_original,3);
if t~=1display('Error in opening the image file!');
end;% butterworth high pass filter
function [out, H] = butterworth_high (im,fc,n)[co,ro] = size(im);cx = round(co/2); % find the center of the imagecy = round (ro/2);imf=fftshift(fft2(im));H=zeros(co,ro);for i = 1 : cofor j =1 : rod = (i-cx).^2 + (j-cy).^ 2;if d ~= 0H(i,j) = 1/(1+((fc*fc/d).^(2*n)));end;end;end;

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

【虹膜识别】基于matlab GUI滤波器虹膜识别【含Matlab源码 917期】相关推荐

  1. 【光学】基于matlab GUI杨氏双缝干涉【含Matlab源码 001期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI杨氏双缝干涉[含Matlab源码 001期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

  2. 【虹膜识别】滤波器虹膜识别【含GUI Matlab源码 917期】

    ⛄一.滤波器虹膜识别简介 理论知识参照文献链接:基于加权Gabor滤波器的虹膜识别 ⛄二.部分源代码 function varargout = frequencydem(varargin) %%%%% ...

  3. 【人脸识别】基于matlab GUI人数统计【含Matlab源码 2121期】

    ⛄一.人数统计简介(附课程作业报告) 1 课题背景 本课题为基于matlab的人数统计系统.近年来,很多行业对人流信息有极大的需求,如汽车公交站,地铁站台,商场出入口等.通过人数统计系统可以方便.可靠 ...

  4. 基于SSM的仓库管理系统(含完整源码+论文)

    后端框架:SSM 数据库:MySQL 开发工具:IDEA/Eclipse 系统介绍:本系统是基于SSM框架进行设计,MySQL作为底层数据库,前端采用bootstrap 模块大致介绍:包括库存管理.出 ...

  5. 【心电信号】基于matlab GUI心电信号预处理【含Matlab源码 938期】

    ⛄一.心电信号预处理方法简介 理论知识参考文献:心电信号预处理方法研究 ⛄二.部分源代码 function varargout = kaishi(varargin) gui_Singleton = 1 ...

  6. matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...

    一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

  7. 虹膜识别算法 matlab,基于MATLAB GUI 的虹膜识别算法测试平台

    基于MATLAB GUI 的虹膜识别算法测试平台 田启川;潘泉;程咏梅;张洪才 [期刊名称]<计算机仿真> [年(卷),期]2006(023)002 [摘要]虹膜识别是一种重要的利用生物学 ...

  8. 【芯片识别】基于matlab GUI形态学PCB板芯片识别【含Matlab源码 1820期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[芯片识别]基于matlab GUI形态学 PCB板芯片识别[含Matlab源码 1820期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  9. 【大米粒计数】基于matlab GUI形态学大米粒颗粒识别【含Matlab源码 915期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[大米粒计数]基于matlab GUI形态学大米粒颗粒识别[含Matlab源码 915期] (https://download.csdn. ...

  10. 【数字信号】基于matlab GUI电话按键识别【含Matlab源码 2382期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号]基于matlab GUI电话按键识别[含Matlab源码 2382期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

最新文章

  1. linux驱动:i2c驱动(二)
  2. 如何判断哪个商城系统好?
  3. vue2.0 创建项目
  4. 【实战HTML5与CSS3 第一篇】初探水深,美丽的导航,绚丽的图片爆炸!!
  5. NLP多任务学习:一种层次增长的神经网络结构 | PaperDaily #16
  6. activiti利弊_事件驱动的安全性的利弊
  7. 基于阿里云服务器+wordpress构建自己的网站(全过程系列,无需任何编程知识)
  8. proj编译linux,安装OpenProj配置中文显示
  9. CIO调查:数据挖掘并不遥远
  10. 随着计算机科学技术和互联网,计算机科学与技术发展趋势的几点思考
  11. 历史上的9月 | Mix时光机
  12. 微信小程序——订阅消息与微信公众号模板消息
  13. python生成中文字符画_在线汉字转为字符字,字符字生成器,在线生成字符字
  14. 雷电模拟器一键宏实现循环点击
  15. 关于Left Join On的使用
  16. 为什么要有红黑树?什么是红黑树?画了20张图,看完这篇你就明白了
  17. 激光点云构建地图(二)手动标注点云地图
  18. Linux自带的五子棋游戏,Android 五子棋游戏示例图与源码下载
  19. 部门中人力资源培养的两点建议
  20. 千呼万唤始出来:第六代Wi-Fi协议的前世今生

热门文章

  1. promise.prototype.catch()
  2. 用pygame实现打飞机游戏-2-检测键盘
  3. 清北学堂模拟赛d1t5 拍照(photo)
  4. 自然语言交流系统 phxnet团队 创新实训 个人博客 (十)
  5. Dubbox学习笔记
  6. [查阅]MSIL Instruction Set
  7. CCF虚拟现实与可视化技术专委会丨面向增强现实的可视计算技术研究进展概述
  8. 6.2神经网络算法应用上学习笔记
  9. 如何解决更改csdn头像修改后浏览器不显示的问题
  10. 1.XML的基础和DOCTYPE字段的解析 DTD——文档类型定义(Document Type Definition)/ 由于XML可以自定义标签,那么自然各人编写的标签不一样,这样同步数据便成了问