Matlab指纹识别
指纹图像预处理和特征提取算法的Matlab实现

algorithm for fingerprint recognition.In this paper,a set of algorithms for preprocessing and minutiae extraction is designed
∥ /燃
a末梢点 图1末梢点和分叉点
图2自动指纹识别系统流程图
3指纹图像的预处理
本文采用的图像预处理算法流程如图3所示。
方向滤波 图3指纹图像预处理算法流程图 各步骤得到的图像如图4所示。
-原始指纹图像 b规格化后的图像 { c方向滤波后的图像
d=值化丘的盥像
e细化后的图像
3.1规格化
图4预处理实验效果图
3.4细化
细化处理(Thinning)是指在二值化的指纹图像上,在
不影响纹线连通性的基础上删除纹线的边缘像素,直到纹 线为单像素宽为止。细化后理想的结果是纹线骨架应该为 原始纹线的骨架中心,并保持纹线细节特征以及纹线的收 敛性、拓扑性、细化性和快速性。细化图像是基于点模式细 节特征点提取的前提,如果无法得到较好的细化图像,后续
不高。本文采用LinHong等人开发的基于最小均方估计
算法,即公式法。公式见式(3)、式(4):
=G(i一1,歹一1)+2G(i,歹一1)+
{二
G(i+1,i—1)一G(i一1.i+1) 2G(i,J+1)一G(i+1,j+1) =G(i一1,j一1)+2G(i,J+1)+ G(i一1,J+1)一G(i+1,J一1)
如何使用Matlab进行人脸检测和人脸识别

如何使用Matlab进行人脸检测和人脸识别人脸检测和人脸识别是计算机视觉领域中的重要技术应用,可以广泛用于人脸识别系统、人脸支付、安全监控等众多领域。
本文将介绍如何使用Matlab进行人脸检测和人脸识别。
1. 背景介绍人脸检测和人脸识别技术的出现,为计算机系统实现对人脸的自动分析和识别提供了可能。
人脸检测是指从一幅图像或视频序列中确定是否存在人脸,并找出人脸的位置和大小。
而人脸识别则是在检测到的人脸图像上进行特征提取和模式匹配,以实现对人脸的身份识别。
2. 人脸检测在Matlab中,可以使用Viola-Jones算法进行人脸检测。
该算法通过构造Haar特征与Adaboost集成学习算法相结合,能够在较短的时间内实现高效的人脸检测。
具体操作如下:2.1 加载图像首先,在Matlab中加载需要进行人脸检测的图像。
可以使用imread函数进行图像加载,并将其转换为灰度图像进行处理。
例如:```Matlabimage = imread('face.jpg');gray_image = rgb2gray(image);```2.2 构建人脸检测器在Matlab中,可以使用vision.CascadeObjectDetector对象构建人脸检测器。
该对象可以通过Viola-Jones算法进行人脸检测。
具体代码如下:```MatlabfaceDetector = vision.CascadeObjectDetector();bbox = step(faceDetector, gray_image);```2.3 显示检测结果最后,可以使用insertObjectAnnotation函数将检测到的人脸位置在原始图像上标记出来。
代码示例如下:```Matlabdetected_image = insertObjectAnnotation(image, 'rectangle', bbox, 'Face');imshow(detected_image);```3. 人脸识别在Matlab中,可以使用基于人脸特征的Eigenface、Fisherface和LBPH等算法进行人脸识别。
基于matlab指纹识别论文(DOC)

《MATLAB语言》课程论文Matlab指纹识别系统姓名:***学号:***********专业:通信工程班级:通信2班指导老师:***学院:物理电气信息学院完成日期:2014.11.11Matlab指纹识别系统(姓名江帅璋2013级2班)摘要本文系统地介绍了指纹识别技术的发展和国内外研究应用现状,阐述了建立指纹识别系统的必要性和意义。
以数字图像处理为基础,研究指纹识别的原理和方法,重点分析基于神经网络指纹识别算法、滤波特征和不变矩指纹识别算法和指纹匹配算法,将matlab作为仿真工具,针对已有的三种指纹识别算法进行编程识别;并通过实验论证各种算法的优缺点。
关键字:指纹识别;算法;matlab仿真目录第一章绪论 (4)1.1 引言 (4)1.2指纹识别技术的发展和研究现状 (5)1.3 指纹识别研究的目的和意义 (7)1.4 本论文结构 (8)第二章指纹识别的理论和方法 (9)2.1指纹识别的基本原理 (9)2.2指纹识别系统工作流程 (9)2.3指纹识别技术的方法 (10)2.3.1神经网络指纹识别算法 (10)2.3.2 滤波特征和不变矩指纹识别算法 (11)2.3.3指纹匹配算法 (13)第三章matlab仿真实验结果与分析 (16)3.1 算法matlab仿真结果 (16)3.2 结果分析 (17)第四章总结与展望 (18)参考文献 (19)附录 (20)致谢.............................................................................................. 错误!未定义书签。
第一章绪论1.1 引言随着网络信息化时代的快速发展,个人身份的数字化和隐性化水平也得到了提高。
如何准确鉴定一个人的身份,保护信息安全是当今信息化时代必须解决的一个关键性社会问题。
目前,我国的各种管理大部分使用证件、磁卡、IC卡和密码,这些手段无法避免伪造或遗失,密码也很容易被窃取或遗忘。
基于Matlab的人体指纹识别程序设计(课程设计)

等级: 课 程 设 计课程名称课题名称 基于Matlab的人体指纹识别程序设计专 业班 级学 号姓 名指导老师年 月 日课程设计任务书课题名称 基于Matlab的人体指纹识别程序设计姓 名 专业 班级 学号指导老师课程设计时间教研室意见 意见: 审核人:一、任务及要求1)根据所学的知识和能力,利用Matlab软件设计程序实现根据指纹的大小、形状等特征,识别出不同的指纹;2)利用按键标志当前指纹识别的状态,例如录入状态、识别状态、清楚状态。
设计要求:1)对指纹识别的过程进行分析,掌握指纹识别系统算法的工作原理;2)进行指纹识别程序的方案设计;3)进行指纹识别程序的模块设计;4)要有必要的算法设计说明;5)写出课程设计报告。
报告中应包括原理框图、参数曲线分析、操作方法、算法分析、软件调试等,调试过程中遇到的问题,改进方法和总结体会;6)答辩。
二、进度安排周一:集中布置课程设计任务和相关事宜,查资料确定指纹识别程序设计总体方案。
周二~周五:完成人体指纹识别程序设计及仿真。
周六~周日:设计报告撰写,周日进行答辩和设计结果检查。
三、参考资料目 录1第1章 绪论............................................................................11.1 Matlab介绍 ......................................................................11.2 Matlab优势特点 ..................................................................11.3 指纹识别.........................................................................11.4 指纹识别技术的主要优点...........................................................2第2章 设计任务及要求...................................................................22.1 设计任务.........................................................................22.2 设计要求.........................................................................第3章 系统方案设计.....................................................................333.1 系统方案设计.....................................................................33.2 系统框图.........................................................................4第4章 系统软件设计.....................................................................44.1 主函数...........................................................................54.2 归一化和切割.....................................................................4.3 二值化...........................................................................794.4 细化.............................................................................4.5 中心点提取.......................................................................4.6 求特征点.........................................................................14164.7 指纹匹配.........................................................................17第5章 系统仿真及调试...................................................................20总 结..................................................................................错误!未定义书签。
数字图像处理指纹识别系统

数字图像处理在指纹识别技术中的应用摘要随着信息技术的和网络技术的发展,信息安全越来越引起人们的重视。
为了保护自身的信息、资料以及财产的安全,许多场合都需要对使用者、来访者进行身份识别。
传统的利用密码、证件作为身份识别的方式具有易遗忘、易破解、易丢失、易伪造等特点,已不再符合现代数字社会的需求。
指纹,作为人体独一无二的生理特征,它的纹理复杂度可以提供用于识别的足够特征,具有极高的安全性,并且指纹还具有易获取、无侵犯性、唯一性和不变性等优点,使其成为生物识别技术中的焦点。
基于指纹识别技术的身份识别系统以其独特的技术优势和成本优势正广泛被应用到各个场合。
指纹图像预处理是指纹识别的前提,它的好坏直接影响到指纹识别的成败,但由于指纹图像降质带来的困难,并根据指纹图像的特征提出了合理的假设,再根据假设提出了增强指纹图像的算法,这些算法处理效果好,能有效地解决指纹图像的预处理问题。
关键词:指纹图像预处理;图像增强;腐蚀;二值化;细化一、指纹识别技术概述1.1 概述生物识别技术(Biometric Identification Technology)是利用人体生物特征进行身份认证的一种技术。
由于每个人的生物特征都有与其他人不同的唯一性和在一定时期内不变的稳定性,不易伪造和假冒,所以利用生物识别技术进行身份认定,安全,可靠,准确。
常见的生物识别技术主要有指纹、脸形、虹膜、视网膜、手写体、声音、掌纹、手形和脸部热谱图9种,指纹识别是生物识别技术的一种。
迄今为止,最为人们所关注、最为成熟的生物识别技术就是指纹识别。
1.2 指纹识别系统分类自动指纹识别系统的工作模式可以分为2类:验证模式(verification)和辨识模式(identification)。
验证就是通过把一个现场采集到的指纹与一个已经登记的指纹进行一对一的比对(one to one matching),来确认身份的过程。
验证过程如图1所示。
辨识则是把现场采集到的指纹同指纹数据库中的指纹逐一对比,从中找出与现场指纹相匹配的指纹。
(毕业论文)基于MATLAB的指纹识别系统设计

大连民族学院本科毕业设计(论文)基于MATLAB的指纹识别系统设计摘要生物识别技术已经成为身份识别和网络安全的发展技术之一,其中指纹识别技术是目前公认的安全,准确,方便的身份认证技术之一,使之成为人们研究的热点。
本文主要设计一个基于matlab 的指纹识别系统。
首先主要介绍了指纹识别技术研究的背景,意义,及现状。
其次,实现了指纹识别系统,描述了指纹识别系统的基本结构,并且对指纹图像的预处理、特征提取、特征匹配这三个必要的环节的算法进行了详细地研究,在指纹图像预处理阶段,本文使用基于灰度的算法对图像进行了分割,同时,针对二值化后图像中仍存在的噪声,也进行了相应的修整处理,尽可能的为以后指纹特征的提取打好基础,从而成功地实现了对指纹数字图像的处理、特征提取、保存和匹配等功能。
最后,对指纹识别系统进行了仿真,仿真结果表明该系统可以较好的进行识别,准确率达到了95.1%。
关键词:指纹识别;预处理;二值化;特征提取;特征匹配AbstractBiometric technology has become one of the developing technologies for identity recognition and network security. And fingerprint identification technology is now recognized as one of the most safe, accurate and convenient authentication technologies, and it is a focus for researchers.This paper designs a matlab-based fingerprint recognition system. The first introduces the fingerprint recognition technology research background, significance, and the status quo. Secondly, to achieve fingerprint identification system, describes the basic structure of the fingerprint identification system, and the fingerprint image preprocessing, feature extraction, feature matching these three essential aspects of the algorithm is studied in detail in the fingerprint image pre-processing stage this article uses an algorithm based on gray image segmentation carried out at the same time, for the image after binarization noise still exists, but also for the corresponding trimming process, as much as possible for the future lay the foundation for fingerprint feature extraction and thus successfully achieved fingerprint digital image processing, feature extraction, storage and matching functions. Finally, the fingerprint identification system for simulation, simulation results show that the system can identify a better accuracy rate reached 95.1%.Key Words:Fingerprint Recognition;Processing;Binarization;Feature Extraction; Feature Matching目录摘要 (I)Abstract (II)1 绪论 (1)1.1本课题背景和意义 (1)1.2指纹识别技术研究现状 (1)1.3本文的章节安排 (2)2指纹识系统设计 (4)2.1指纹识别系统设计基本结构 (4)2.2指纹图像分割 (4)2.2.1指纹图像分割介绍 (4)2.2.2 均值方差法 (5)2.3指纹图像的细化 (6)2.3.1指纹图像细化的预处理 (6)2.3.2 指纹图像细化方法计算 (7)2.4指纹图像的特征提取 (8)2.4.1 指纹特征提取概述 (8)2.4.2指纹特征提取和去伪特征 (9)2.5 指纹图像匹配方法 (10)2.5.1指纹图像匹配介绍 (10)2.6本章小结 (11)3仿真结果及其分析 (12)3.1仿真结果及分析 (12)3.2本章小结 (14)结论 (16)参考文献 (17)附录 MATLAB程序 (18)致谢 (35)1 绪论1.1本课题背景和意义指纹识别技术的应用十分广泛,指纹因具有终生不变性及稳定性,而且不同人指纹相同的概率几乎为零,因此指纹自动识别系统被广泛应用于案例分析、商业活动中的身份鉴别等领域.目前有很多的生物测定技术可用于身份认证,包括虹膜识别技术、视网膜识别技术、面部识别、签名识别、声音识别技术、指纹识别等,具有安全、可靠的特点,其中自动指纹识别系统是目前研究最多、最有应用前景的生物识别系统。
MATLAB中的图像识别与模式识别技巧

MATLAB中的图像识别与模式识别技巧引言:MATLAB是一种功能强大的计算机软件,被广泛应用于科学、工程、计算机视觉等领域。
其中,图像识别与模式识别是MATLAB常用的功能之一。
本文将介绍一些MATLAB中的图像识别与模式识别技巧,帮助读者更好地利用这些功能解决实际问题。
一、图像预处理在进行图像识别与模式识别之前,通常需要对图像进行预处理以提高识别的准确性和效率。
MATLAB提供了丰富的图像预处理函数,例如灰度化、二值化、平滑滤波等。
其中,灰度化函数im2gray可以将RGB图像转换为灰度图像,便于后续处理。
二值化函数im2bw可以将灰度图像转换为二值图像,更好地提取图像特征。
平滑滤波函数imfilter可以消除图像中的噪声,使得后续处理更加准确。
二、特征提取在进行图像识别与模式识别时,通常需要从图像中提取有用的特征,以便进行模式匹配和分类。
MATLAB提供了多种特征提取方法,例如灰度共生矩阵(GLCM)、局部二值模式(LBP)等。
灰度共生矩阵可以反映图像中不同像素灰度级之间的关系,用于描述纹理特征。
局部二值模式可以描述图像的纹理和形状特征。
通过使用这些特征提取方法,可以大幅度提高图像识别的准确性。
三、模式匹配与分类一旦提取了图像特征,就可以进行模式匹配和分类任务。
MATLAB提供了多种模式匹配和分类方法,例如支持向量机(SVM)、K近邻算法(KNN)等。
支持向量机是一种常用的分类算法,它可以通过找到一个最优超平面来分割不同类别的样本。
K近邻算法是一种简单而有效的分类算法,它通过计算待分类样本与已知样本的距离来确定其所属类别。
通过使用这些模式匹配和分类方法,可以实现高效的图像识别与模式识别。
四、深度学习应用近年来,深度学习在图像识别与模式识别领域取得了显著的成果。
MATLAB提供了深度学习工具箱,方便用户进行深度学习模型的设计和训练。
通过使用深度学习,可以自动从大量图像中提取抽象的特征,极大地提高了图像识别和模式识别的精度和效率。
指纹识别代码

'Parent', ud.hComponent5Axes);
%=================================
% 112.5度
ud.hComponent6Axes = axes(Ax, ...
'Position', [5*hs+4*175 vs/2 175 175]);
% - Features:特征可视化
% - FingerCode:在数据库中加入该指纹
% - Check:指纹匹配
%
%
%指纹识别中一个至关重要的步骤就是中心点的确定。如果剪切指纹图像时出现了任何
%错误,你可以使用辅助的m文件"vedicentro.m":它使得输入指纹可视化并计算指纹
%中心,借助于m函数"centralizing.m"。
% Defaults for image axes
Ax = Std;
Ax.Units = 'Pixels';
Ax.Parent = FpextractDemoFig;
Ax.ydir = 'reverse';
Ax.XLim = [.5 128.5];
Ax.YLim = [.5 128.5];
Ax.CLim = [0 1];
'Parent', ud.hComponent3Axes);
%================================
% 67.5度
ud.hComponent4Axes = axes(Ax, ...
'Position', [3*hs+2*175 vs/2 175 175]);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指纹识别技术研究个人的指纹是独一无二的,两人之间不存在着相同的手指指纹。
每个人的指纹是相当固定的,不会随着人的年龄的增长或身体健康程度的变化而变化,但是人的声音等却存在较大变化的可能。
3)指纹样本便于获取,易于开发识别系统,实用性强。
目前已有标准的指纹样本库,方便了识别系统的软件开发;另外,识别系统中完成指纹采样功能的硬件部分也较易实现。
而对视网膜则难于采样,也无标准的视网膜样本库供系统软件开发使用,这就导致视网膜识别系统难以开发,可行性较低。
一个人的十指指纹皆不相同,这样可以方便地利用多个指纹构成多重口令,提高系统的安全性。
指纹识别中使用的模板并非最初的指纹图,而是由指纹图中提取的关键特征,这样使系统对模板库的存储量较小。
另外,对输入的指纹图提取关键特征后,可以大大减少网络传输的负担,便于实现异地确认,支持计算机的网络功能。
近些年来,电子信息技术的飞速发展,特别是传感技术、电子信号处理技术、计算机数据管理技术、计算机网络技术的飞速发展,为指纹识别技术的成型提供了强大的硬件支持。
与此同时,图形图像处理学、人工智能学、软件工程学等新兴学科的蓬勃发展也为指纹识别技术的进步提供了强有力的软件支持。
指纹识别的发展中,也存在自身的不足,如指纹识别系统性能的测试和评估标准的确立、相关软件的标准化问题都是有待进一步解决的。
指纹识别技术作为一项迅猛发展的新技术,有了软硬件等方面的强大保障,同时又有指纹识别自身的诸多优点,相信指纹识别技术一定会有更加美好的发展前景。
摘要:随着生物识别技术的不断发展,人们发现每个人的指纹具有唯一性和不变性。
因此指纹识别技术逐步发展为一种新的身份识别方式,并且凭借其良好的安全可靠性,大有取代传统身份识别方式的趋势。
本文简要介绍了指纹识别的基本步骤,分别是指纹图像预处理、指纹特征提取、指纹匹配。
在图像预处理中,依次介绍了规格化处理、图像增强、二值化处理和细化处理的方法。
预处理后将得到一幅宽度为一个像素的细化二值图像,然后通过特定的端点和交叉点的特征进行指纹匹配。
实验表明,该方法效果良好。
论文中采用Matlab 编程实现全部算法。
关键词:指纹识别,图像处理,特征提取,特征匹配1.引言传统的身份识别技术包括基于密码的身份识别技术和基于令牌的身份识别技术。
但是这两种方式都存在着一定的安全风险:令牌容易丢失,密码容易忘记,且它们都容易被窃取或冒充。
近年来,依赖人体特征的新型身份识别技术正在兴起,凭借其唯一且不变的特点,生物识别技术逐步成为人们研究的热点。
而在生物识别技术中,指纹识别技术已经被广泛的研究和应用。
它的基本原理框图如图一所示。
图1指纹识别的基本原理框图2.指纹图像预处理2.1图像规格化受采集设备参数和环境的影响,采集到的指纹图像可能总体对比度较差。
图像归一化的作用就是使所有指纹图像具有相同的灰度均值和方差,从而将每一幅图像的灰度调整到统一的范围,方便后续处理。
归一化的算法是:(1) 先计算图像的平均值和方差。
这部分工作主要通过统计图像中各点像素值得到该图像的直方图,然后利用直方图来计算指纹图像的相关指标。
11001()(,)H W i j M I I i j WH --===∑∑112001()((,)())H W i j Var I I i j M I WH --===-∑∑(2) 指定期望经过处理后的图像均值和方差,计算归一化后的图像G 。
00(,)(,)M I i j M G i j M others ⎧>⎪⎪=⎨⎪⎪⎩图像规格化的Matlab 程序如下(其中方差取Var0=2000,M0=150):% 归一化M=0;var=0;for x=1:mfor y=1:nM=M+I(x,y);endendM1=M/(m*n);for x=1:mfor y=1:nvar=var+(I(x,y)-M1).^2;endendvar1=var/(m*n);for x=1:mfor y=1:nif I(x,y)>=M1I(x,y)=150+sqrt(2000*(I(x,y)-M1)/var1);elseI(x,y)=150-sqrt(2000*(M1-I(x,y))/var1);endendendfigure, imshow(uint8(I)) ;带入指纹图像’zhiwen1.bmp’后得到的原始图像和归一化图像见图2和图3:图2原始指纹图像图3规格化后的指纹图像2.2图像分割指纹图像通常包括纹线区域和周边的无用区域。
如果保留这些无用区域,会致使计算冗余度增加。
为此要先将其从待处理区域中去除。
通常用的分离方法有像素领域特征的方法和基于像素分布概率的方法等。
本文采取对各像素邻域特征进行分析,然后分割图像算法。
吧图像分成T*T的非重叠块,计算每一块的灰度均值M和方差Var,通过下列条件区分前景与背景:(1)如果M>M1且Var<Var1,则认为背景(2)如果M<=M1且Var>=Var1,则认为前景,否则待定;(3)对所有分块划分完毕后,在对待定块进行判决。
如果在8邻域中,背景景小于等于4则认为是前景,否则是背景在编程过程中通过几次调试后对图像进行3*3分块处理Matlab程序如下:% 分割M =3; %3*3H = m/M; L= n/M;aveg1=zeros(H,L);var1=zeros(H,L);% 计算每一块的平均值for x=1:H;for y=1:L;aveg=0;var=0;for i=1:M;for j=1:M;aveg=I(i+(x-1)*M,j+(y-1)*M)+aveg;endendaveg1(x,y)=aveg/(M*M);% 计算每一块的方差值for i=1:M;for j=1:M;var=(I(i+(x-1)*M,j+(y-1)*M)-aveg1(x,y)).^2+var;endendvar1(x,y)=var/(M*M);endendGmean=0;Vmean=0;for x=1:Hfor y=1:LGmean=Gmean+aveg1(x,y);Vmean=Vmean+var1(x,y);endendGmean1=Gmean/(H*L);%所有块的平均值Vmean1=Vmean/(H*L);%所有块的方差gtemp=0;gtotle=0;vtotle=0;vtemp=0;for x=1:Hfor y=1:Lif Gmean1>aveg1(x,y)gtemp=gtemp+1;gtotle=gtotle+aveg1(x,y);endif Vmean1<var1(x,y)vtemp=vtemp+1;vtotle=vtotle+var1(x,y);endendendG1=gtotle/gtemp;V1=vtotle/vtemp;gtemp1=0;gtotle1=0;vtotle1=0;vtemp1=0;for x=1:Hfor y=1:Lif G1<aveg1(x,y)gtemp1=gtemp1-1;gtotle1=gtotle1+aveg1(x,y);endif 0<var1(x,y)<V1vtemp1=vtemp1+1;vtotle1=vtotle1+var1(x,y);endendendG2=gtotle1/gtemp1;V2=vtotle1/vtemp1;e=zeros(H,L);for x=1:Hfor y=1:Lif aveg1(x,y)>G2 && var1(x,y)<V2e(x,y)=1;endif aveg1(x,y)< G1-100 && var1(x,y)< V2 e(x,y)=1;endendendfor x=2:H-1for y=2:L-1if e(x,y)==1if e(x-1,y) + e(x-1,y+1) +e(x,y+1) + e(x+1,y+1) + e(x+1,y) + e(x+1,y-1) + e(x,y-1) + e(x-1,y-1) <=4e(x,y)=0;endendendendIcc = ones(m,n);for x=1:Hfor y=1:Lif e(x,y)==1for i=1:Mfor j=1:MI(i+(x-1)*M,j+(y-1)*M)=G1;Icc(i+(x-1)*M,j+(y-1)*M)=0;endendendendendfigure, imshow(uint8(I));title('分割');得到的图像如图4:图4经过分割处理后的图像2.3图像二值化一般的指纹图像都有比较清晰的方向场,方向场估计得准确性直接决定了图像增强算法的效果。
为估计方向场,我们把指纹脊线的走向分为如下8个方向,如下图:图5 在一个像素处的8个指纹脊线方向我们先对分割后的图像进行了平均滤波,然后对图像的每一个像素,为确定在该像素出的脊线方向,在以该像素为中心的9*9窗口内,分别计算8个方向上的经过处理后的灰度值,即将图5中标了i(i=0,1,…7分别代表8个方向)的位置的像素灰度值去他们中最大summax 和最小值summin,若满足(summax+summin+ 4*I(x,y))> (3*summ/8),则该像素点的脊线方向为summin,否则为summax.确定完方向后就根据该向场对图像进行二值化。
Matlab程序如下:%二值化¯temp=(1/9)*[1 1 1;1 1 1;1 1 1];%模板系数均值滤波Im=double(I);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);endendI=In;Im=zeros(m,n);for x=5:m-5;for y=5:n-5;sum1=I(x,y-4)+I(x,y-2)+I(x,y+2)+I(x,y+4);sum2=I(x-2,y+4)+I(x-1,y+2)+I(x+1,y-2)+I(x+2,y-4);sum3=I(x-2,y+2)+I(x-4,y+4)+I(x+2,y-2)+I(x+4,y-4);sum4=I(x-2,y+1)+I(x-4,y+2)+I(x+2,y-1)+I(x+4,y-2);sum5=I(x-2,y)+I(x-4,y)+I(x+2,y)+I(x+4,y);sum6=I(x-4,y-2)+I(x-2,y-1)+I(x+2,y+1)+I(x+4,y+2);sum7=I(x-4,y-4)+I(x-2,y-2)+I(x+2,y+2)+I(x+4,y+4);sum8=I(x-2,y-4)+I(x-1,y-2)+I(x+1,y+2)+I(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*I(x,y))> (3*summ/8) sumf = summin;elsesumf = summax;endif sumf > bIm(x,y)=128;elseIm(x,y)=255;endendendfor i=1:mfor j =1:nIcc(i,j)=Icc(i,j)*Im(i,j);endendfor i=1:mfor j =1:nif (Icc(i,j)==128)Icc(i,j)=0;elseIcc(i,j)=1;end;endendfigure,imshow(double(Icc));title('二值化');得到的二值化图像如图6:图6二值化后的图像2.4图像增强在当前的指纹采集条件下,不可避免的会受到环境,皮肤上的油脂、水分、污渍的影响,使采集到的指纹图像出现纹线粘连、纹线断裂等缺陷,对后续的指纹特征提取带来很大困难。