【指纹识别】基于matlab特征点匹配指纹识别系统【源码31期】

一、简介

基于matlab特征点匹配指纹识别系统,提高指纹识别系统的精度和效率,本文提出一种特征点的判断方法,提取图像特征,并建立和完善数学模型,实现指纹图像特征点的细化和证伪,从而得到指纹精炼图。在指纹采集过程中,会受到各种客观因素的影响,这些会使采集到的指纹图像出现纹线 断裂、模糊等情况,对后续的处理造成一定的影响。指纹预处理就是要尽量解决这些问题,使指纹图像包含清晰的纹线信息。常见的指纹图像预处理主要包括:归一化、二值化、细化和指纹特征点等操作。

二、部分源码

clc;
clear all;
close all;
warning off
[fn,pn,fi]=uigetfile('*.*','选择图片');%选择图片
im1=imread([pn fn]);%读取原始图像
figure
imshow(im1);
title('原始图像');
I=normalize(im1);%归一化和切割
figure 
imshow(uint8(I));
title('归一化切割');
im3=derection_bw(I);%二值化
figure
imshow(im3);
title('二值图像');
im4=thin(im3);%细化
figure
imshow(im4);
title('细化图像');
[x0,y0]=centralizing(double(im4));%找中心点
figure
imshow(im4);
title('指纹中心点');
hold on;plot(x0,y0,'go');hold off;
im4=~im4;
[x3,y3,x4,y4]=find_feature(im4,x0,y0,400);%找特征点
tfeature(:,1)=x3;
figure
imshow(im4);hold on;
title('指纹特征点');
plot(x3,y3,'bo');plot(x4,y4,'ro');hold off ;
[pathstr,~,~]= fileparts(mfilename('fullpath'));
pic=dir([pathstr,'/train/*.jpg']);
disp('数据识别中');
load(strcat(pathstr,'/xfeature.mat'))
for i=1:length(xfeature(1,:))
wxd(i)=norm(sqrt(sum((tfeature(:,1)-xfeature(:,i)).^2))); %非除法欧氏距离计算
end
disp('数据识别结束');
answer=find(wxd==min(min(wxd)));
fname=strcat(pathstr,'\train\',pic(answer).name);
hs=msgbox(['指纹别结果为:',pic(answer).name],'result');
disp(fname)

三、运行结果

四、matlab版本

MATLAB R2019a

五、学习与交流

文中不足之处请大家多多指教,学习与交流可以联系企鹅:3752243968
文中部分源码仅供参考,若需要全部代码可以私信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值