毕业设计-一种基于 MATLAB 的指纹识别方法

目录

前言

课题背景和意义

实现技术思路

一、模型假设

二、指纹识别模型 

二、手指打印图像预处理

三、指纹特征的提取与细化去伪

四、模型评估

部分源代码

实现效果图样例

最后


前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯一种基于 MATLAB 的指纹识别方法

课题背景和意义

在全球信息化的大环境下,人们的身份信 息识别备受关注。密码遗忘或泄露后,简单的 修改密码或使用磁卡符号设置等操作已不能 满足用户需求,因而数据的安全性和可靠性至 关重要。指纹所具有的独特性和方便性,使其 在智能身份识别领域的应用较为普遍。目前,智能手机上的指纹解锁功能受到了用户的 一致好评,基于指纹识别原则的权威系统和考 试记录已被推广运用至各领域。虽 然 指 纹 特 征仅包含了人体很小一部分的信息,但对于每 个独立 的 个 体 来 讲,能够有效地进行身份识 别,其识别算法的精确性和可靠性非常重要。 为了提高指纹识别系统的精度和效率,本 文提出一种特征点的判断方法,采用基于不断 改进提取图像邻域的算法提取图像特征,并 建立和完善数学模型,实现指纹图像特征点的 细化 和 证 伪,从而得到指纹精炼图。此 外,为 了分析特征点和指纹之间的关系,预测编码程 序可实现的匹配度,在 MATLAB 环境下分别选 取斗型、箕型和弓型纹对算法进行案例分析, 验证该指纹识别算法的可行性,旨在为进一步 提高指纹识别的精确性和可靠性提供参考。

实现技术思路

一、模型假设

指纹是一个复杂的系统,因 人 而 异,具 有 独特性。因 此,做出一些假设和简化: ①共 同 指纹提取测试过程中,没有包含指纹识别图像 的 2 个指纹数据中心接触点; ②假设指纹图像 没有巨大的疤痕; ③假设指纹图像基本清晰可 辨; ④假设在分类过程中不存在任何特征点。

二、指纹识别模型 

指纹识别流程

指纹打印功能提取

对于没有指纹的原始指纹图像,为了保证 能够正常有效地提取指纹后续特征,须对全部 原始指纹图像进行不同识别程度的指纹特征 处理,并重新提取指纹图像,包括一个端点和 一个分叉点,确保图像的指纹特征是去伪的。

二、手指打印图像预处理

指纹识别预处理是指纹识别系统中的一 个重要环节,主要是为了提高用户输入的指 纹点状图像的数据质量,增强山脊与其他山谷 的指纹对比度,消除传统指纹的点状断裂和指 纹叉的连接,将传统指纹点状图像转变成清晰 的指纹点状曲线图。

1)归一化 在指纹图像采集处理过程中,图像的亮度水平参差不齐,无法建立 1 个统一有效的识别 系统,给指纹识别图像采集的处理和分析计算 带来了极大的不便。因此,在 MATLAB 软件中对 ( R,G,B) 3 个 分 量 图 像进行归一化处理,公式为:

2)分割

结合平均方差算法,使用多模块数据特征 来分割指 纹 图 像。基于指纹背景颜色的浅灰 色区域方差小、指纹方块区域方差大的设计观 点,将每个指纹方块图像区分为块,计 算 每 个 指纹方块 的 方 差

(1) 设定 1 个阈值 M,将图像块为 n × n 块。(2 ) 图像分为 40 × 40 个 部 分,量 化 评 价 每 个图像块的均值:

 3) 如果 N M则将该模块选作前景否则, 为背景,并对方差不为 0 的整个区域执行阈值分

割算法
 二值化
通过公式 将分割后的图像二值化处理, 将图形数据分为 A 和 B 2 种像素,以有效提取 指纹的线条轮廓,减小数据量,为存储和处理 带来便利,提高系统的经济实用性。

基于全局 P 参数法进行量化评价 ,具体过程如下。
①指纹脊线所占整幅指纹图像的比例 P 及 其灰度分布 Pi ( i = 0,1,2,…,255) 为:

②计算累计分布 Pk ( k = 0,1,2,…,255) 为:

③分别计算 Ma 和 Mb :

 式中,Na,Nb 分别为 A,B 2 种像素 的个数。 A 和 B 之间的方差为:

④A,B 方差以 0 ~ 255 为周期计算。当方差 最大时,T 为最有效的分割阈值,进行指纹图像二 值化。阈值 T 为:

4)细化

指纹识别二值化后,线条仍然具有一定的特 征宽度,从带有指纹特征点线的网状结构中任意 提取 1 个特征点即可进行指纹匹配。因此,指 纹二值化后,精炼指纹是必不可少的。细化后的 指纹线条从多像素宽度减少到单位像素宽度,可 以有效降低程序计算量。

三、指纹特征的提取与细化去伪

提取细节结构特征

由于传统图像精制质量和视频噪声的双重干 扰,预处理的图像精制在伪图像上仍存有大量的 典型伪图像特征和缺点。伪特征通常具有以下特 征: 大多数特征位于图像的边缘; 图像中的伪特征 非常接近,同时在很小的区域中存在多个伪特 征。

以 3 行 3 列区域划分指纹图像,其中 Q 表示 目标检测像素。像素的8 个字段如图

特征点距离主要用于伪特征点的消除算法中。功能点 Q1Q2之间的距离:

 伪功能筛选方法主要有以下 2 种: 指纹范围 以外的点( 本文使用范围为 600) ,此时,它和周围 的 8 点记录为 0,将非功能点的数量从中减去; 观 察指纹图像边缘的直线终点,实际上在终点的指 纹半径应该是直线。

功能点的提取

为计算方便,目标点值设置为 1,计算公式为:

 计算 8 个附近值为 1 的像素,并基于一定量 化举例得出 Q 点所处的以下几类情况。

1) 如果 8 个邻域中只有 1 个值为 1 的像素, 且 CN = l,Sn ( q) = 1,此时 Q 点即是端点。 2) 如果 8 个邻域中有 2 个值为 1 的像素,且 CN = 2,Sn ( q) = 2,此时 Q 点即是连接点。 3) 如果 8 个邻域中有 3 个值为 1 的像素,且 CN = 3,Sn ( q) = 3,此时 Q 点即是分叉点。 细化去伪后必须对提取的所有特征点信息进 行后续处理,删除虚假的提取特征功能点。

四、模型评估

基于方差和其他数学运算形态的背景指纹区 域分割增强算法能够准确区分背景指纹的处理前 景和指纹背景,可以直接获得良好的背景指纹分 割增强处理效果,得到更好的指纹图谱和提取精 度。

指纹特征提取的实验结果与分析
原始指纹导入图像和细化后指纹导入图像分别如图 所示
原始指纹导入图像:

 细化后指纹导入图像:

 从图可以看出, 原始图经过细化处理后,指纹的主要轮廓线条依 然保留。预处理后,指纹图像转换成为特征点和 线图,指纹特征提取效果就可以显示在图中。

指 纹功能点提取图像如图所示。从图 可以看 出,处理的功能点存在错误,是由于图像预处理中 的噪声过大所导致。

细化去伪后的指纹图像特征 点如图所示。从图可以看出,大量虚假的提 取特征功能点被删除,所剩下的功能点能够准确 地捕捉指纹的各个区域。

部分源代码

增强指纹纹路:

%*******************************
%*噪声对图像处理的影响很大,它影响图像处理的输入、采集和处理等各个环节以及输出结果。因此,在进行其它的图像处理前,需要对图像进行去噪处理。
%*均值滤波方法是,对待处理的当前像素,选择一个模板,该模板为其邻近的若干个像素组成,用模板的均值来替代原像素的值的方法。
temp=(1/9)*[1,1,1;1,1,1;1,1,1];%模板系数  均值滤波
Im=gray;
In=zeros(m,n);
for a=2:m-1
    for b=2:n-1
        In(a,b)=Im(a-1,b-1)*temp(1,1)+Im(a-1,b)*temp(1,2)+Im(a-1,b+1)*temp(1,3)+Im(a,b-1)*temp(2,1)...
            +Im(a,b)*temp(2,2)+Im(a,b+1)*temp(2,3)+Im(a+1,b-1)*temp(3,1)+Im(a+1,b)*temp(3,2)+Im(a+1,b+1)*temp(3,3);
    end
end
gray=In;%平滑后的图像矩阵
Im=zeros(m,n);
%为了估计脊线的方向场,把脊线的方向场划分为八个方向,然后根据八个方向的灰度值的总和来得到脊线的方向。并对图像进行二值化。
%求八个方向每个方向的和
for x=5:m-5
    for y=5:n-5
        %0-7方向的和
        sum1=gray(x,y-4)+gray(x,y-2)+gray(x,y+2)+gray(x,y+4);
        sum2=gray(x-2,y+4)+gray(x-1,y+2)+gray(x+1,y-2)+gray(x+2,y-4);
        sum3=gray(x-2,y+2)+gray(x-4,y+4)+gray(x+2,y-2)+gray(x+4,y-4);
        sum4=gray(x-2,y+1)+gray(x-4,y+2)+gray(x+2,y-1)+gray(x+4,y-2);
        sum5=gray(x-2,y)+gray(x-4,y)+gray(x+2,y)+gray(x+4,y);
        sum6=gray(x-4,y-2)+gray(x-2,y-1)+gray(x+2,y+1)+gray(x+4,y+2);
        sum7=gray(x-4,y-4)+gray(x-2,y-2)+gray(x+2,y+2)+gray(x+4,y+4);
        sum8=gray(x-2,y-4)+gray(x-1,y-2)+gray(x+1,y+2)+gray(x+2,y+4);
        sumi=[sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8];
        %最大值
        summax=max(sumi);
        %最小值
        summin=min(sumi);
        %和 &&平均值
        summ=sum(sumi);
        b=summ/8;
        
        if(summax+summin+4*gray(x,y))> (3*b)
            sumf=summin;
        else
            sumf=summax;
        end
        
        if sumf>b
            Im(x,y)=128;
        else
            Im(x,y)=255;
        end
    end
end
% imshow(Im);


%两个矩阵点乘 Icc 白色的是感兴趣的像素 黑色的 0 表示的是边缘 不感兴趣的,需要略掉
for i=1:m
    for j=1:n
        Icc(i,j)=Icc(i,j)*Im(i,j);
    end
end
%转换为二值图
for i=1:m
    for j=1:n
        if (Icc(i,j)==128)
            Icc(i,j)=0;
        else
            Icc(i,j)=1;
        end
    end
end
figure;imshow(double(Icc));
title('Icc');

实现效果图样例

实现过程:

归一化:

 指纹增强:

 我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

  • 2
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目录 摘要…………………………………………………………………………………4 Abstract……………………………………………………………………………4 第一章 绪论………………………………………………………………………5 1.1研究背景…………………………………………………………………5 1.2国内外研究现状…………………………………………………………6 1.3研究的目的和意义………………………………………………………8 1.4研究内容…………………………………………………………………9 第二章 指纹识别系统概述………………………………………………………10 2.1指纹识别的基本原理……………………………………………………10 2.2指纹识别系统工作流程…………………………………………………10 2.3指纹识别技术的方法……………………………………………………12 2.3.1神经网络指纹识别算法…………………………………………12 2.3.2滤波特征和不变矩指纹识别算法………………………………12 2.3.3指纹匹配算法……………………………………………………13 第三章 指纹图像预处理…………………………………………………………15 3.1图像规格化………………………………………………………………15 3.2图像分割…………………………………………………………………16 3.3图像二值化………………………………………………………………19 3.4图像增强…………………………………………………………………21 3.5图像细化…………………………………………………………………23 第四张 特征点提取………………………………………………………………26 4.1找出所以的端点和交叉点………………………………………………26 4.2纹线光滑处理……………………………………………………………28 4.3去除图像边缘和端点……………………………………………………29 4.4找出特征点………………………………………………………………30 4.4.1 single_point函数……………………………………………30 4.4.2 walk 函数………………………………………………………32 4.4.3 last1 函数…………………………………………………….33 第五章 特征点匹配……………………………………………………………….35 5.1纹线长度匹配……………………………………………………………35 5.2三角形边长匹配…………………………………………………………35 5.3点类型匹配………………………………………………………………36 第六章 实验过程………………………………………………………………….38 第七章 总结……………………………………………………………………….45 参考文献……………………………………………………………………………45 致谢…………………………………………………………………………………47

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值