基于MATLAB的指纹识别系统【论文,GUI】
一、课题介绍
本设计为基于MATLAB的指纹识别系统。本设计系统主要对指纹图像进行三方面处理:图像预处理、特征提取和特征匹配。图像预处理包括四个步骤:图像灰度化、滤波增强、二值化、细化,对指纹图像进行预处理后,去除了原图像的冗余部分,方便后续的识别处理;特征提取主要是提取指纹图像细化后的端点和分叉点;特征匹配是利用两个指纹的图像进行特征点比较,来确定两幅图像是否来自于同一手指。
二、运行界面
三、主程序
1、载入指纹图像
set(handles.text1,‘string’,’ ‘)
[filename,pathname]=uigetfile({’.tif’;’.*’},‘载入指纹’);
if isequal(filename,0)|isequal(pathname,0)
errordlg(‘没有选中文件’,‘出错’);
return;
else
file=[pathname,filename];
x1=file;
axes(handles.axes1);
imshow(x1);
save x1
title(‘指纹图象’)
end
set(handles.text1,‘string’,‘载入指纹1!’)
2、灰度、二值化、细化、特征点、光滑处理等主函数
set(handles.text1,‘string’,‘处理指纹Ⅰ。。。!’)
load x1
thin1=tuxiangyuchuli(x1);
load im;axes(handles.axes2);imshow(im);title(‘灰度图’)
load Im;axes(handles.axes3);imshow(Im);title(‘二值图’)
load w;axes(handles.axes4);imshow(w);title(‘细化’)
axes(handles.axes5);
txy1=point(thin1);
title(‘特征点’)
axes(handles.axes11)
[w1,txy1]=guanghua(thin1,txy1);
thin1=w1;
save thin1
title(‘光滑处理’)
txy1=cut(thin1,txy1);
[pxy31,error2]=last1(thin1,8,txy1,60)
save pxy31
set(handles.text1,‘string’,‘指纹图象Ⅰ处理完毕!’)
3、识别比对
if f<0.5&&ff<1.5&&fff<0.2
match=‘yes’
set(handles.text1,‘string’,‘是同一个人!’)
else
match=‘no’
set(handles.text1,‘string’,‘不是同一个人!’)
end