指纹识别算法的matlab实现

指纹识别算法的matlab实现

  1. 课题介绍

由于指纹所具有的普遍性,唯一性和不变性,以及指纹识别技术具有很高的可行性和实用性,使之成为目前最流行、也最可靠的个人身份认证技术之一。

本文主要对指纹图像进行三方面处理:图像预处理、特征提取和特征匹配。图像预处理包括四个步骤:图像分割、滤波增强、二值化、细化,对指纹图像进行预处理后,去除了原图像的冗余部分,方便后续的识别处理;特征提取主要是提取指纹图像细化后的端点和分叉点;特征匹配是利用两个指纹的图像进行特征点比较,来确定两幅图像是否来自于同一手指。

本文给出了指纹图像预处理、特征提取、特征匹配的matlab程序及处理结果。该结果证明,用matlab实现的这些算法的处理结果比较理想,满足识别的可行性和应用性。























  1. 指纹识别算法流程及GUI实现效果示例

指纹识别技术主要包括三大部分:指纹图像采集、指纹预处理、特征提取与匹配。如图1-4所示。


v2-ab98bf38d41e98f34cc2d998103647a8_b.jpg

图1-4 指纹识别流程

示例如下:


v2-162bbd19eea123bf7409dc687da94ded_b.jpg
  1. 指纹识别的几个预处理过程

1、图像的分割

图像分割是从一幅图像中按一定规则将一些物体或区域加以分离,划分出我们感兴趣的部分或区域。经过分割后的图像更容易进行进一步的分类、分析和识别处理。图像分割要在指纹二值化和滤波及细化之前进行,如此可以减少计算的冗余量,提高指纹检测速度。

采集到的指纹内容分为目标区域和背景区域。在指纹图像中,由脊线和谷线组成的较清晰的部分,称之为目标区域;没有用的部分我们称之为背景区域。指纹识别中的分割就是将有用的目标区域分割出来,去掉没用的背景区域,以避免背景区域的各种干扰。指纹图像可分为四类区域:背景区、不可恢复区、可恢复区、清晰区,如下图所示。

2、 图像归一化

对指纹图像进行分割处理,消除剩下的背景区域前,首先要进行图像归一化。

对采集好的指纹图像进行归一化处理,是对指纹灰度图的灰度均值和方差做一次调整,使得不论用什么设备采集的指纹图像都可以有预期的方差和均值,从而屏蔽不必要的噪声。指纹归一化不改变指纹质量,只是方便指纹的后续处理并保证程序运行时收敛加快。

3、 图像的二值化

二值化就是将图像上的像素点的灰度值设置为0或1,也就是将整个图像呈现出明显的黑白视觉效果。指纹图像中包括目标和背景还有众多噪声,要想从原始的指纹图像中提取出目标,一般用的方法是设定一个阈值T,用T将图像中像素数据分成两部分,若输入灰度图像的函数为:

v2-f452fca91d5f09e9e0400c61ccac3594_b.jpg

(2-4)

通过求解阈值T,从而把图像f(x,y)分成目标和背景两个区域,其中大于T的像素群为目标区域,小于等于T的像素群为背景区域,阈值的选取原则是:(1)尽可能的多保存图像信息;(2)尽可能的减少噪声。

4、指纹图像的滤波

一个优秀的指纹识别系统不仅需要高的识别准确度,还需要高的识别速度,而影响识别速度的最主要因素就是指纹图像的滤波,而滤波的好坏直接因素是增强滤波的算法,当然跟所使用的软件和硬件也有很大的关系。

5、图像细化

分割和滤波后的指纹图像再进行二值化处理后,脊线仍然有一定的宽度,指纹识别的匹配是只利用图像的点或线的特征,这些点或者特征只与脊线的走向或者纹理有关系,有一定宽度的二值化图像显得有些多余,所以需要对二值化图像进行细化处理,指纹二值化图像经过细化处理即可得到一个单一像素宽度的脊线,经过上述的细化处理,在后续的指纹特征提取和特征匹配的算法中大大的减少了计算的冗余量和出错率,使得指纹识别的速度和准确度有了很大的提高。

四、 指纹特征提取和特征匹配

特征点提取

(1)提取指纹的端点和交叉点

端点和交叉点均是指纹图像的两个细节特征,同时在指纹识别的的过程中起着重要的作用,因为识别的首要前提就是找到图像的所有端点和交叉点。先通过一函数对八个邻域的坐标位置进行定义,然后定义另一函数来找出细化后指纹图像的所有端点及交叉点。

将八邻域中的每个点依次两两相减并取其绝对值,后将所有结果加起来,因为端点处是两个点,即和为2时细化图像有端点,和为6时图像特征为交叉点。

运行完上面的和函数的程序后,能把细化图像的的端点和交叉点全部找出。在定义函数的程序中有数组txy,其中t为横坐标,x为纵坐标,y为2时为端点,y为6时为交叉点。

(2)去除图像边缘的端点

可以看出,指纹图像细化的边缘,由于采集仪器不同的关系,因此不可避免的会多出很多的端点,这些端点不仅增加了后续的工作量,还可能导致识别过程中产生错误,所以要把这些边缘的端点都去除,在matlab中这些操作都可以采用一函数来实现。

找出特征点

设置三个函数来找出图像的特征点:

(1)A函数

经过去除边缘端点的操作后进一步减少了指纹细化图像中的端点和交叉点的个数。下面就需要找出一些在细化图像中比较独特的端点来作为识别的特征点。在一幅细化的指纹图像中,

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值