西
南
民族大
学学
报
·
自
然
科学
版
第 34 卷第 4 期
Journal of Southwest Universit
y
for Nationalities
⋅
Natural Science Edition
Aug. 2008
___________________________________________________________________
___________________________
收稿日期:2008-03-11
作者简介:太艳荣(1983-),女,西南交通大学硕士研究生, 研究方向:指纹识别技术研究.
文章编号: 1003-2843(2008)04-0836-03
基于 MATLAB 实现的指纹图像预处理
太艳荣
( 西南交通大学, 成都 610031)
摘 要: 指纹图像的质量相对于指纹识别而言非常关键, 但实际操作中获取到的图像往往包含各种噪声, 比如伤疤、汗
渍、污迹以及与指纹采集设备的不均匀接触. 在前人的基础上提出了一套基于 Matlab 实现的指纹识别预处理算法. 本文
给出了用 Matlab 对每个指纹图像处理功能模块的算法实现、改进方法及处理结果, 主要包括分割、归一化、增强和细
化等. 用Matlab 实现的这种方法, 既能分步对指纹图像预处理算法进行仿真测试, 又可以很直观地看到图像处理算法的
效果, 有效配合了算法的研究. 实验证明, 用 Matlab 实现的算法处理结果比较理想, 满足识别的应用性.
关键词: 指纹识别;预处理;分割;增强;细化
中图分类号:TP391 文献标识码: A
指纹识别已经有 100 多年的历史, 由于指纹具有唯一性、永久性和稳定性使得指纹识别成为最广泛使用的
生物特征识别技术. 近 30 年来, 自动指纹识别技术取得了较大的成功, 但是由于各种噪声仍然存在, 比如伤疤、
汗渍、污迹、扭曲等等, 直接影响到指纹识别的效率
[1]
. 所以, 指纹图像预处理算法仍然是模式识别领域的一个
热点.
Matlab 既是一种高效、直观的计算机语言, 同时又是一个科学计算平台. 它为数据分析和数据可视化算法、
应用程序开发提供了核心的数学和高级图形工具. 作为图像处理的仿真工具, Matlab 提供了功能强大的图像处
理函数, 给仿真者提供了很大的便利性
[2,3]
. 最重要的是它缩短了开发周期. 在指纹预处理仿真过程中, Matlab 强
大的数学函数和和方便的图像显示功能得到极大的发挥.
本文在前人的基础上提出一套基于 Matlab 实现的指纹图像预处理算法, 并给出了改进的几个模块算法.
本文的算法都是通过 Matlab 仿真而验证的, 以 Matlab 作为指纹识别算法仿真的平台.
1 指纹识别系统的工作原理
指纹识别流程如图 1 所示
[4,5]
.
采集到的指纹图像包含各种噪声, 所以很有必要去除噪声以实现正确匹配. 通常预处理包括分割、归一化、
平滑、方向滤波、二值化和细化, 它的好坏直接影响到指纹识别的效果. 在此基础上, 提取指纹特征信息, 得到
输入指纹特征模板, 然后用输入指纹特征模板与已登记的指纹特征模板相比较, 最后显示识别结果.
2 分割
分割是把前景区域和背景区域分离开来. 前景区域是感兴趣部分, 对指纹图像来说, 就是包含脊线和谷线
的清晰区域. 所以分割操作能有效去除噪声, 并使后续操作更加简单. 这也是首先进行分割操作的原因.
本文使用的分割方法基于形态学操作. 具体操作是:首先腐蚀原图得到离散块, 然后利用阈值法[2]得到掩