基于MATLAB软件的指纹识别研究

基于MATLAB软件的指纹识别研究

 

人的指纹各不相同,里面藏着很多秘密。指纹可以用来确定人的身份,广泛用于刑侦、加密、考勤等领域,最近还出现了用指纹进行手机解锁等应用。还有一些人声称指纹与人的健康、性格、命运等都有一定的联系。指纹传统上以图像格式存储,一般占用较多的空间,且图像里面的像素信息并不易用来进行分析或比对。为发现指纹中隐藏的秘密,我们需要有一种方法来描述指纹的内在结构、具体形态和其它特征并將其用最少的字节数来存储于计算机中。

指纹具有普遍性、唯一性和不变性的特点,使得指纹识别技术成为目前世界公认的最可靠的个人身份认证技术之一,本文主要对指纹特征进行了研究,最终得出指纹所唯一确定的指纹密码的数学表示以及指纹分类的方法。在合理的假设下,首先利用软件对指纹原图像进行预处理,包括指纹分割、二值化、去毛刺和空洞以及细化四个步骤,得到细化后的指纹图像。基于细化后的图像提取出指纹特征点,给出合理的指纹密码。然后根据指纹的总体特点,利用基于奇异点的指纹分类方法,对指纹进行了分类。

一、指纹图像的预处理

在指纹采集过程中由于手指本身的因素和采集条件等各种原因的影响,从指纹传感器上采集到的原始图像会不同程度地受到各种因素的干扰,图像中往往包含有很多噪声,造成指纹图像质量严重下降。为了改善图像、去除噪声干扰、有效的提取指纹特征,必须进行图像预处理。

二、图像分割

参考链接[如无效 ,请留言 提醒]

MATLAB指纹识别.zip-专业指导文档类资源-CSDN下载MATLAB指纹识别。计算两个指纹的端点,分叉点,及匹配度,判别是不是同一个人的。更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/m0_65908410/72028991

图像分割的目的是为了将指纹前景区域和背景区域分离开,避免在噪声和背景区域中提取特征,提高特征的准确性。根据前景图像中指纹脊和谷的灰度差比较大,局部灰度方差也很大,而背景区域的值很小这一特性,本文采用方差法对图像进行分割。具体算法如下:

将输入的指纹图像划分为互不重叠的子块,对每一分块进行处理。

1.计算每一子块图像的平均灰度值

2.计算每一图像子块的方差

3.对于每一图像子块,当大于所有子块的平均方差时,将其设定为背景区域;否则,作为前景保留其灰度值。由于在不同的分块尺寸下,指纹图像分割后的图像效果各不相同:如果选取的分块尺寸太大,不能有效的去除背景區域,分割效果不准确;如果选取的分块尺寸太小,又会误去太多前景区域。故本文运用以3*3的分块尺寸对指纹作出指纹分割图。

三、二值化

图像的二值化是通过设定阀值把灰度图像变成仅用两个值分别表示图像的目标和背景的二值图像。假设一幅灰度图的像素值为,设有一阀值,则:

四、细化

指纹图像二值化后,会引入空洞和毛刺等伪特征,其纹线宽度也不均匀,会影响到指纹特征的提取。因此,为避免二值化引入的毛刺空洞等伪特征带来的影响,保护指纹的细节特征,对所得的二值化图进行去毛刺和空洞。

五、特征点提取

在预处理中得到的细化图中提取指纹细节特征,主要有指纹图像的分叉点和端点。具体算法如下:

将细化后的指纹图像按照3*3的分块尺寸进行划分,其中目标检测像素点用代表,而、、、…、是在像素点的八个邻域像素点。为计算方便,这里将目标点的设定为1,则采用如下公式:

然后统计像素点的8个邻域中值为1的像素点个数,由此可得到:如果的8个邻域中有且仅有一个值为1的像素点,则,称为端点;如果的8个邻域中有两个值为1的像素点,,称为连续点;如果的8个邻域中有三个值为1的像素点,,称为分叉点。连续点即为指纹的纹路。

六、指纹图像的密码表示

将问题的解题方法用软件编程实现,对指纹依次进行预处理、特征点提取,最终得到其相对应的指纹密码。首先对指纹进行预处理,在所得指纹细化图的基础上,对指纹的细节特征进行提取,即运用8-领域算法找出指纹图像中的端点及分叉点。并运用仿真实现指纹图像特征点的提取。由指纹特征点提取图可得出各个特征点的位置坐标,即为指纹所唯一确定的指纹密码。根据已经找出了指纹细化图像中的特征点,画出了一段独特的脊线,在图像中用红色来标示。

七、建立基于奇异点的指纹分类模型

在实际情况中指纹图像中存在很大的噪声,在指纹图像的预处理过程中,不可能去除所有的噪音声,所以不能仅以奇异点的位置和数目进行指纹的分类。然而对于指纹图像中噪声比较严重的部分,甚至可能因为检测定位不准或检测不到,造成错误分类。

设为中心点的个数,为三角点的个数,基于奇异点的指纹分类规则如下:当且时,则为弓型;当且时,则为螺旋型;当且时,则根据方向图求与中心点垂直方向以及中心点与三角点连线的方向:若

,则为帐拱型;若,则为左旋型;若,则为右旋型;当且时,根据方向图,

沿方向以步长为5采样五个像素点,其方向分别为,,,,,计算方向偏移:

若,则为左旋型;若,则为右旋型。如果以上条件都不满足,则说明指纹图像质量太差,拒绝分类。

八、法提取奇异点

给定指纹图像的任意一点,在其邻域内做一条包围该点的闭合曲线,沿该闭合曲线逆时针旋转一周,通过计算得到的旋转角度总和不同对应了不同类型的点,中心点对应的值为180度,三角点对应的值为负180度,而一般图像区域点对应

值为0度。提取奇异点的具体步骤如下:

取一条封闭数字曲线计算值。取当前点为中心,距离为1的点组成的曲线,长度为4。按如下公式计算值:

封闭曲线的长度大小关系到奇异点定语的准确性。取一条与点距离为1的点组成的曲线,曲线长度为4。由于在数字处理图像中,所有图像均以矩阵形式存在,所取的曲线上的点坐标都是整数,取点距离为1,长度为4的曲线还能保证计算值的过程中用到的点均严格满足在这条曲线上,从而保证了计算的精确性。对指纹的每一像素点,根据以上所求得的值,设置奇异判据如下:若,则该点为中心点;若,则该点为三角点;否则该点为非奇异点。

九、指纹分类

根据基于奇异点的指纹分类模型,最终将指纹进行分类。

十、GUI界面设计

基于MATLAB软件的指纹识别研究_第1张图片

你可能感兴趣的:(计算机视觉,人工智能,机器学习,算法,深度学习)