EDN China > 设计实例 > 嵌入式系统 > 参考设计 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图)嵌入式指纹检索系统设计

杨廉萍?? 李志?? 东南大学?? 单片机与嵌入式系统应用?? 2015年05月04日 ?? 收藏0

2. 指纹检索算法与程序设计

2.1指纹图像预处理算法

指纹检索的首要环节就是进行指纹图像的预处理工作,其目的是为了去除图像无效区域、降低噪声,从而提高指纹检索的效率。在利用指纹采集器获取到灰度化的原始指纹图像后,首先是进行指纹图像的分割,提取出指纹前景区;然后再通过计算平均像素灰度的方法对图像进行标准化处理,使指纹图像的灰度和对比度调整到一个统一标准的范围内。

预处理的第二环节是图像的滤波增强,本文采用基于方向场和频率场特性的Gabor滤波增强算法对指纹图像进行增强处理。在滤波前首先需要计算指纹图像的脊线方向场图像和频率特性 图,对于指纹脊线方向场信息,采用经典的Sobel算子求取像素的梯度值,然后利用求出的像素横向梯度矢量Gx和纵向梯度矢量Gy计算方向角度值;对于指纹频率信息,则通过计算某一区域指纹脊线间平均像素距离而得到。获得以上信息后,再利用Gabor滤波函数对指纹图像做增强处理。

得到增强的指纹图像后,还要对图像进行二值化和细化处理。二值化是使灰度图像变成黑白图像,将图像在灰度层次上从原来的256色降为黑白2色,对指纹图像信息量进行了压缩;细化则是在不改变原有图像像素拓扑连接关系的条件下,保留了纹线的主要信息,使指纹图像的脊线分布变得简单明了,为指纹特征的提取和索引做准备,因此也是图像预处理中非常重要的一步。

2.2 指纹特征提取算法

指纹特征提取的主要目的是计算指纹核心点(Core)和细节点(Minutia)的特征信息。在提取指纹核心点时,采用的是Poincare Index算法,该算法的思路是在指纹图像某像素点区域内,按围绕该点的闭合曲线逆时针方向旋转一周,计算方向角度旋转变化量的和,最后以计算结果来寻找核心点。计算过程中如果某像素点的Poincare Index值为π则判定为核心点,然后便提取该点的坐标与方向场信息,记为P(Cx, Cy, θc)。

对于指纹的细节点特征,在本设计中只要求提取指纹脊线端点(Ending)和脊线分叉(Bifurcation)两种细节点。在细化的指纹图像中,这两种细节点的形态如图2和图3所示:

指纹特征提取算法

在提取指纹细节点时,首先为细化图像中的每个像素点P建立一个8邻域像素区,如图4所示。其中P1~P8为像素点P周围的邻近环绕像素点。P1~P8中黑色点的值设为1,白色点的值设为0。

图4 8邻域像素图
图4 8邻域像素图

根据Crossing Number (CN)理论,在8邻域像素图中按照公式1计算像素点的CN值。例如在图2和图3中,8领域像素区域内中心点的CN值分别为1和3。

指纹特征提取算法

最后按上述方法对细化指纹图像中的所有像素点进行CN值计算,当CN值为1时,可判定所检测的P点为脊线端点,当CN值为3时,则可判定P点为脊线分叉点。检测到细节点之后返回该点的坐标(x,y),并根据CN的值返回细节点的类型T,然后再读取该点的方向角θ。因此,在本算法中一个指纹细节点的具体特征最后用M(x, y, θ ,T)算子来表征。

【分页导航】


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

指纹检索? 嵌入式系统? SOC?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈