目录
前言
课题背景和意义
实现技术思路
一、模型假设
二、指纹识别模型
二、手指打印图像预处理
三、指纹特征的提取与细化去伪
四、模型评估
部分源代码
实现效果图样例
最后
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯一种基于 MATLAB 的指纹识别方法
课题背景和意义
实现技术思路
一、模型假设
指纹是一个复杂的系统,因 人 而 异,具 有 独特性。因 此,做出一些假设和简化: ①共 同 指纹提取测试过程中,没有包含指纹识别图像 的 2 个指纹数据中心接触点; ②假设指纹图像 没有巨大的疤痕; ③假设指纹图像基本清晰可 辨; ④假设在分类过程中不存在任何特征点。
二、指纹识别模型
指纹识别流程
指纹打印功能提取
对于没有指纹的原始指纹图像,为了保证 能够正常有效地提取指纹后续特征,须对全部 原始指纹图像进行不同识别程度的指纹特征 处理,并重新提取指纹图像,包括一个端点和 一个分叉点,确保图像的指纹特征是去伪的。
二、手指打印图像预处理
指纹识别预处理是指纹识别系统中的一 个重要环节,主要是为了提高用户输入的指 纹点状图像的数据质量,增强山脊与其他山谷 的指纹对比度,消除传统指纹的点状断裂和指 纹叉的连接,将传统指纹点状图像转变成清晰 的指纹点状曲线图。
1)归一化 在指纹图像采集处理过程中,图像的亮度水平参差不齐,无法建立 1 个统一有效的识别 系统,给指纹识别图像采集的处理和分析计算 带来了极大的不便。因此,在 MATLAB 软件中对 ( R,G,B) 3 个 分 量 图 像进行归一化处理,公式为:
2)分割
结合平均方差算法,使用多模块数据特征 来分割指 纹 图 像。基于指纹背景颜色的浅灰 色区域方差小、指纹方块区域方差大的设计观 点,将每个指纹方块图像区分为块,计 算 每 个 指纹方块 的 方 差
(1) 设定 1 个阈值 M,将图像块为 n × n 块。(2 ) 图像分为 40 × 40 个 部 分,量 化 评 价 每 个图像块的均值:
3) 如果 N < M,则将该模块选作前景,否则, 为背景,并对方差不为 0 的整个区域执行阈值分
②计算累计分布 Pk ( k = 0,1,2,…,255) 为:
③分别计算 Ma 和 Mb :
式中,Na,Nb 分别为 A,B 2 种像素 的个数。 A 和 B 之间的方差为:
④A,B 方差以 0 ~ 255 为周期计算。当方差 最大时,T 为最有效的分割阈值,进行指纹图像二 值化。阈值 T 为:
指纹识别二值化后,线条仍然具有一定的特 征宽度,从带有指纹特征点线的网状结构中任意 提取 1 个特征点即可进行指纹匹配。因此,指 纹二值化后,精炼指纹是必不可少的。细化后的 指纹线条从多像素宽度减少到单位像素宽度,可 以有效降低程序计算量。
三、指纹特征的提取与细化去伪
提取细节结构特征
由于传统图像精制质量和视频噪声的双重干 扰,预处理的图像精制在伪图像上仍存有大量的 典型伪图像特征和缺点。伪特征通常具有以下特 征: 大多数特征位于图像的边缘; 图像中的伪特征 非常接近,同时在很小的区域中存在多个伪特 征。
以 3 行 3 列区域划分指纹图像,其中 Q 表示 目标检测像素。像素的8 个字段如图
特征点距离主要用于伪特征点的消除算法中。功能点 Q1和 Q2之间的距离:
伪功能筛选方法主要有以下 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');
实现效果图样例
实现过程:
归一化:
指纹增强:
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。文章来源:https://www.toymoban.com/news/detail-453766.html
毕设帮助,疑难解答,欢迎打扰!文章来源地址https://www.toymoban.com/news/detail-453766.html
最后
到了这里,关于毕业设计-一种基于 MATLAB 的指纹识别方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!