搜索
您的当前位置:首页(毕业论文)基于MATLAB的指纹识别系统设计说明

(毕业论文)基于MATLAB的指纹识别系统设计说明

来源:智榕旅游
 .. .. ..

大连民族学院本科毕业设计(论文)

基于. 专业 专注

.

MATLAB的指纹识别系统设计

.. .. ..

生物识别技术已经成为身份识别和网络安全的发展技术之一 ,其中指纹识别技术是目前公认的安全 ,准确,方便的身份认证技术之一 ,使之成为人们研究的热点 。

本文主要设计一个基于 matlab 的指纹识别系统 。首先主要介绍了指纹识别技术研

究的背景 ,意义,及现状 。 其次,实现了指纹识别系统 ,描述了指纹识别系统的基本

结构,并且对指纹图像的预处理 、特征提取 、特征匹配这三个必要的环节的算法进行

了详细地研究 ,在指纹图像预处理阶段

,本文使用基于灰度的算法对图像进行了分

,也进行了相应的修整处理 ,尽可能的

、特征提

割,同时,针对二值化后图像中仍存在的噪声

为以后指纹特征的提取打好基础 ,从而成功地实现了对指纹数字图像的处理 取、保存和匹配等功能 。最后,对指纹识别系统进行了仿真

,仿真结果表明该系统可

以较好的进行识别 ,准确率达到了 95.1% 。

关键词:指纹识别 ;预处理;二值化;特征提取 ;特征匹配

. 专业 专注 .

.. .. ..

Abstract

Biometric 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

. 专业 专注 .

.. .. ..

目 录

要 .......................................................................................................................................................

Abstract ........................................................................................................................................................

1 绪论 ...........................................................................................................................................................

1.1 本课题背景和意义 .................................................................................................................... 1.2 指纹识别技术研究现状 ...........................................................................................................

1.3 本文的章节安排 .........................................................................................................................

2 指纹识系统设计 .....................................................................................................................................

2.1 指纹识别系统设计基本结构 .................................................................................................. 2.2 指纹图像分割 .............................................................................................................................

2.2.1 指纹图像分割介绍 .......................................................................................................

2.2.2 均值方差法 ....................................................................................................................

2.3 指纹图像的细化 .........................................................................................................................

2.3.1 指纹图像细化的预处理 .............................................................................................. 2.3.2 指纹图像细化方法计算 .............................................................................................

2.4 指纹图像的特征提取 .............................................................................................................

2.4.1 指纹特征提取概述 ................................................................................................... 2.4.2 指纹特征提取和去伪特征 .......................................................................................

2.5 指纹图像匹配方法 ................................................................................................................

2.5.1 指纹图像匹配介绍 ....................................................................................................

2.6 本章小结 ...................................................................................................................................

3 仿真结果及其分析 .............................................................................................................................. 3.1 仿真结果及分析 ......................................................................................................................

3.2 本章小结 ...................................................................................................................................

. 专业 专注 .

I II 1 1 1 3 5 5 5 5 7 8 8 9

111112131315161619

.. .. ..

论 .......................................................................................................................................................................................................................................................... 20

参 考 文 献 ................................................................................................................................................................................................................................................ 21 附录 MATLAB 程序......................................................................................................................................................................................................................... 22

谢 .......................................................................................................................................................................................................................................................... 45

. 专业 专注.

.. .. ..

1 绪论

1.1 本课题背景和意义

指纹识别技术的应用十分广泛 ,指纹因具有终生不变性及稳定性 ,而且不同人指纹相同的概率几乎为零 ,因此指纹自动识别系统被广泛应用于案例分析 、商业活动中的身份鉴别等领域 .目前有很多的生物测定技术可用于身份认证 ,包括虹膜识别技术 、视网膜识别技术 、面部识别 、签名识别 、声音识别技术 、指纹识别等 ,具有安全 、可靠的特点,其中自动指纹识别系统是目前研究最多 、最有应用前景的生物识别系统 。 指纹

识别技术的发展得益于现代电子集成制造技术的进步和快速可靠的算法的研究

指纹门禁系统通过将用户的指纹特征与指纹特征数据库中的数据进行对比实现用

户身份的鉴别 ,并不直接保存和使用用户的指纹图像信息 ,不会侵犯到用户的隐私信息,是当前技术最先进 、应用最广泛的门禁系统 。对生物识别 (指纹识别 )技术来说 ,被

广泛应用意味着它能在影响亿万人的日常生活的各个地方使用 。 通过取代个人识别码和口令,生物识别 (指纹识别 )技术可以阻止非授权的 “访问 ”,可以防止盗用 ATM 、蜂窝电话 、智能卡、桌面 PC、工作站及其计算机网络 ;在通过电话 、网络进行的金融交易时进行身份认证 ;在建筑物或工作场所生物识别技术 (指纹识别 )可以取代钥匙、证件、图章等 。 生物识别 (指纹识别 )技术的飞速发展及其广泛应用将开创个人身份鉴别的新时代 。 指纹所具有的唯一性 、不变性 、及易于获取 、分类存储有规律等特性使其成为生物鉴定学中最为成熟的方式 。

1.2 指纹识别技术研究现状

指纹识别技术从早期的人工比对到现在采用计算机技术实现自动指纹识别

对比更加准确 ,识别效率得到极大提高

,指纹

。自动指纹识别过程通常由指纹图像滤波增

。指纹图像滤波增强的目

强、二值化 、细化、特征提取以及指纹匹配等几个环节构成

. 专业 专注 .

.. .. ..

的是将有噪声干扰的指纹图像变得更加清晰 ,使得指纹图像的脊线更黑

,谷线更白 ,

当前在实际指纹图像增强算法的应用中一般是几种滤波增强方式结合起来使用 的方案是基于傅里叶变换结合滤波和指纹图像点方向场的下上下滤波器

,主要

;指纹图像二

值化,是将指纹图像变成灰度值只有 0 和 255 两种颜色的图像 ,当前,在自动指纹识别 中常采用的是根据指纹图像的点方向场在指纹纹线方向和指纹纹线垂直方向上对指纹

图像进行二值化处理 ;指纹图像细化是指删除指纹纹线的边缘像素

,使之只有一个像

素宽度,目前在自动指纹识别技术中常用的是

OPTA 算法的改进的图像模板细化算法 ;

、端

指纹特征提取 ,是将细化后使用计算机数字图像处理技术采集指纹图像中奇异点

点、叉点等指纹特征数据 ,目前常用的特征提取算法是先对细化后的指纹图像进行初

步去噪 ,然后提取特征点 ,再根据阈值去除伪特征点 ;指纹匹配 ,是指纹预留模板图像与输入样板图像中的所有特征点的匹配 ,目前在自动指纹识别系统中常采用可变大小的界限盒的指纹特征匹配算法 。

目前指纹识别技术还有诸多困难 ,例当三维的指纹被指纹录入设备扫描成二维的数字图像时 ,就会丢失一部分信息 ,手指划破 、割伤、弄脏、不同干湿程度以及不同的按压方式 ,还会导致指纹图像的变化 ,这就给可靠的特征提取带来了困难 ;例如传统的基于细节点的识别方法 ,是依靠提取指纹脊线上的细节点 ,然后对其位置和类型进行匹配 ,来识别指纹的 ,而噪声会影响特征提取准确度 ,增加错误的特征点或丢失真正的特征点 。 当噪声很大时 ,就要增加图像增强算法来改善图像的质量 ,但很难找到一种增强算法能够适应所用的噪声 ,多种增强算法又会大幅增加算法运行时间 ,不好的增强算法又会增加人为特征 。 当噪声增大时 ,提取了许多虚假细节点 ,还有可能

丢失细节点 ,这就是传统的基于细节点识别算法的不足之处之一 ,因为它只利用了指纹图像中的一小部分信息 (细节点位置和方向 )作为特征进行匹配 ,丢失了蕴涵在图像中的其他丰富的结构信息 。 不难想象 ,基于这种方法的识别算法 ,很难全面适应指纹的变化 。

. 专业 专注 .

.. .. ..

人的指纹含有天然的密码信息 ,它们具有几点重要特特点 。 ①广泛性,指每一个正常的人都有指纹 。

②唯一性 ,指每一个人的指纹都不同 。指纹的细节由细微纹点和纹线的起点

、终

点、分叉等组成 。正是这些无穷无尽的细节特征组合构成了指纹的唯一性

.事实上 ,

甚至包括双胞胎 ,世界上两个指纹相同的概率小于

1/109 ,几乎为零 ,这就构成了指

纹的第一大特点 。

③终生不变性 ,指纹终身不变即指纹的图案永远不会改变

,从人的出现到死后的

分解为止 (除非指纹受到伤害 )。

④指纹与主体的不可分离性 :即指纹不存在丢失 、遗忘、被窃取的可能 。

指纹的使用比起其它证卡来说更快捷 、安全、准确、无干扰 ,可实现快速登录注册,系统兼容性好 ,也就是说可以独立或者通过联网构成系统并且很容易并入各类证卡和定义识别系统中 。因此 ,指纹识别技术的应用范围极广 。

1.3 本文的章节安排

本文以研究指纹识别中指纹图像分割 、细化、特征提取 、匹配等若干问题为研究主体,针对指纹识别技术中分割 、细化和匹配进行了仿真和修正 。其中分割部分采用了方差均值的方法 ,细化选取了一种伪特征较少的模板 ,匹配时以分叉点和端点信息进行匹配 。 具体的章节和各章的内容安排如下 :

第一章:在介绍本论文的研究背景及意义 ,在指纹识别技术的现状和特点的基础上,确定了本文所做的主要工作 。

第二章:本章主要介绍了指纹识别系统设计原理

,为后续的研究工作奠定基础 ,

介绍了均值方差的基础知识和基本理论以及仿真中具体的分割运用算法 ;指纹图像细化的方法 ;指纹图像细化后的特征提取 ,需要哪些特征 ,去除哪些伪特征 ,以方便和正确地进行匹配工作 ;指纹图像匹配的概念 、匹配问题的困难所在和常用方法 。

. 专业 专注 .

.. .. ..

第三章:指纹识别系统的仿真结果及分析 。

结论:总结本文所取得的一些研究成果 ,并对课题发展进行了展望 。

. 专业 专注.

.. .. ..

2 指纹识系统设计

2.1 指纹识别系统设计基本结构

指纹识别系统主要由指纹图像读取 ,图像预处理 ,特征提取 ,特征匹配四大步骤组成。

首先,我们要提取需要处理的指纹识别的原始图片

其次,进行图像预处理 。通常图像预处理包括分割 、归一化、二值化和细化 , 图像预处理的目的就是去除图像中的噪声 ,将图像变成清晰点线图 ,这样才能提取到正确的指纹特征 ,从而达到正确匹配的目的 。 它的好坏直接影响到指纹识别的效果 。

在此基础上 , 接下来就是要对细化后的数字图像进行关键特征提取 ,从而达到识别不同的志文数字图像的目的 。普遍采用的特征提取是提取细节点 。

最后,我们将处理后的图像进行匹配 ,指纹图像的特征匹配主要是对所提取的细

节特征进行匹配 ,将要比对的图像与库中图像的细节特征进行比对 ,并将比对结果输出,这是指纹识别系统设计中最重要的一个环节 ,这也是指纹识别系的最终目的 。

2.2 指纹图像分割

2.2.1 指纹图像分割介绍

指纹图像分割在指纹识别系统中作为图像与处理的一部分 ,指纹图像分割的基本依据是图像的某些特征及特征的集合 。 如灰度值 ,邻域关系 ,纹线的扭曲程度等 。 图像特征是指纹图像的固有属性 。通过提取图像特征 ,可将原始图像映射到特征空间 ,使图像特征在特征空间中呈现一定的分布 。因此根据以上的的灰度值领域关系 ,纹线的扭曲程度,指纹图像分割大致分为三类 :基于像素的图像分割 ,基于块特征的图像分割以及基于全局的图像分割 。

[6]

. 专业 专注 .

.. .. ..

基于像素的指纹图像分割中目前流行多尺度小波变换和阈值法

叶变换的出发点都是将信号表示成基函数的线性组合

。小波变换和傅里

。所不同的是傅里叶变换采用时

间属于 (一∞,+ ∞)的谐波函数

exp(inx )

作为基函数 ,

,在信号处理中 ,特别是在数字信

,而最

计算机中的图像信息是以离散信号形式存放的

号处理和数值计算等方面 ,为了计算机实现的方便 ,连续小波必须进行离散化

基本的离散化方法就是二进制离散 ,一般将这种经过离散化的小波及其变换叫做二进 小波和二进变换 。

小波变换的特点是压缩比高

,压缩速度快 ,压缩后能保持信号与图象的特征不

变,且在传递中可以抗干扰 。在指纹识别识别中使用小波变换有助于噪声的滤除以及 有利于检测奇异点 。但是小波变换的明显缺点是它计算复杂

,计算效果也取决于函数

的选择。

另一种阈值分割就是简单地用一个或几个阈值将图像的灰度直方图分成几个类

认为图像中灰度在同一个灰度类内的像素属同一物体

。它是图像分割中最基本的方

法 。其原理是先定一个阈值 ,大于此值为 1,小于则认为为 0;多阀值则可以利用多维

函数。此原理在匹配中也可以运用 。其优点是计算简单 ,仅需比较灰度值即可 ;运算

效率较高 ,速度快 ;它的缺陷在于仅考虑图像的灰度信息

,而忽略了图像的空间信

息,对于图像中不存在明显灰度差异或各物体的灰度值范围有较大熏叠的图像分割问 题难以得到准确的结果 。

代表块特征的指纹图像分割目前研究趋势为多种块基本特征如灰度均值

、块灰度

方差 [9] 、块方向图等综合运用和重新定义块特征 。其中块指的是将图像分个成一个个小

的图像块 。 图像均值就是对每一个单位块的灰度值取均值

,方差则反映该块中各点与

均值的偏差性 ,方向

[10]

这可以很好的反映纹理的变化趋势 。一般来说 ,常见的方向场

等人开发的基于最小均方估计算法 ,即

的计算分为掩模法和公式法两大类 。LinHong

公式法。

. 专业 专注 .

.. .. ..

x i , j y i , j

G i 1, j 1 G i 1, j 1

2G i, j 1 2G i , j 1

G i 1, j 1 G i 1, j 1

G i 1, j 1 G i 1, j 1

2G i, j 1 2G i 1, j

G i 1, j 1 G i 1, j 1

i w j w

2 2

Rx i , j

i w

j w 2

2 u, v

2

u, v

2

Ry i , j

i w j w

2 2

u, v

u, v

2

i w j w

2 2

( 3.1)

它是利用正交坐标系下 ,原点到它们组成的坐标点的有向线段与 X 的正半轴的夹角可来表示该子块的块方向 。 这种方法最大的优点是易实现 ,很好体现出纹理 ,但缺点是对于变化太快的部分出错 。 此方法的实现是利用方向滤波器 。

基于全局的图像分割则是根据情况特别是某些特殊场合的利用

,如残缺指纹 。全

,此法也可运用

局的图像分割可以是人工选定几个特定点后再根据全局的特点来处理

于匹配 。基于全局的指纹识别仍处于实验室探索阶段

,应用领域中尚不广泛 。

2.2.2 均值方差法

在图像分割概述中 ,已经提到基于块特征的指纹图像分割

绍均值法差法的计算方法和在仿真中的运用

。在这部分将重点介

该算法基于背景区灰度方差小 ,而指纹区方差大的思想 ,将指纹图像分成块 ,计算每一块的方差 ,如果该块的方差小于阈值为背景 ,否则为前景 。具体步骤分以

下三步 :

(1) 将低频图分成 M ×M 大小的无重叠方块 ,方块的大小以一谷一脊为宜 。 (2)计算出每一块的均值和方差 。

. 专业 专注 .

.. .. ..

AVE

1

H1L1

I i, j

2

H

L i 0 j 0 1

H 1 L 1

(3.2)

VAR

H L i 0 j 0

I i , j AVE

(3)如果计算得到的方差几乎接近于 0 就认为是背景 ,对于方差不为零的区域在进

行阈值分割算法 ,这种算法主要是根据计算得到的方差来决定其是否为背景区

在使用方差均值法之前还要使用归一法将图变为低频图

。归一化的目的是把不

同原图像的对比度和灰度调整到一个固定的级别上

,为后续处理提供一个较为统一

。其中 AVE 0 和 VAR 0 为期望的灰度均

的图像规格 。指纹图像的归一化公式如式所示

值和方差 。 但是小波变换的明显缺点是它计算复杂 ,计算效果也取决于函数的选择 。

AVEo

VARo I x, y

AVE

2

I x, y

AVEo

VAR

2AVE VARo I x, y

VAR

(3.3)

在使用方差均值法之前还要使用归一法将图变为低频图

。归一化 [11] 的目的是把不

同原图像的对比度和灰度调整到一个固定的级别上

,为后续处理提供一个较为统一的

图像规格 。

2.3 指纹图像的细化

2.3.1 指纹图像细化的预处理

这部分预处理主要为二值化 。由于指纹图像脊 、谷相间 ,因此指纹图像的处理常是将指纹图像二值化 。 灰度图像二值化是将灰度图变换为只有黑和白两种灰度的图

像。 这样不仅可以压缩原指纹图像的数据量 ,而且也方便后面的细节特征的提取

。灰

. 专业 专注 .

.. .. ..

度图二值化的基本思想是选取适当的灰度阂值 ,将灰度图像转化为二值图像 ,阈值的

法等。根据是否将图像分

选择是关键 ,对于阈值的选择 ,有多种方法 ,如熵法,Ostu 块处理 ,又分全局阈值算法和局部阈值算法两种 阈值处理 ,而局部阈值算法则把原图分成若干个子图

,全局阈值算法是将整幅图像以一个

,在每个子图中确定闽值 ,在进

,因而全局阈值算法

行二值化 ,由于指纹图像在不同区域的亮度和对比度是有差别的 不适用。

灰度图二值化的基本思路是选取适当的灰度阈值 ,将灰度图像转化为二值图像 。

,然后将该值作为 ,这种方法虽然简

。所以最好选用

一般的图像处理中的二值化算法主要是计算整幅图像的灰度平均值 门限,高于该门限的像素点就置

1,反之置 0 。我们通过研究发现

单,但是对噪声较大 ,图像质量不好的指纹会产生较大的二值化噪声 局部阈值法作为二值化算法 。

论文中采用了一种动态局部阈值 ,满足这种条件下的灰度值为

128 ,不满足则灰度

值为 255 。 再根据前面判断的是否为背景即 Icc 值的来修正 Icc 值:灰度值为 128 且 Icc

为 1 时(非背景指纹纹线时 ), Icc 值为 0,像素值置为 0。背景和灰度值为 255 的纹线像素置为 1,这做法的目的是去除不确切的点 。此时背景为白 ,纹线为黑 。

二值化后的图像中的点还要进行修改 ,修改条件为 :当像素为 1 时,它周围点不大于 3 个为像素 1 点则修改为 0;当像素为 0 时,它周围不小于 7 个点为像素 1 的点,则修改为 1。 这种修改是为了使图像连续圆滑 。

2.3.2 指纹图像细化方法计算

由于灰度过渡区 [12] 的存在 ,指纹细化是指纹图像预处理中的一个重要环节

,因为

一般的特征提取都是在细化的基础上进行的

,如果细化不好 ,将无法使用常规的特征

提取算法提取细节特征信息 [13] 。细化可以便我们得到绞线的单像素的骨架 。 所谓 “骨架 ”,是指图像中央的骨骼部分 ,是描述图像几何及拓扑性质的重要方法之一 。 获取一个图像骨架的过程通常称为对图像 “细化 ”的过程。 在文字识别 、地质构造识别 、工业零

. 专业 专注 .

.. .. ..

件形状识别或图像理解中 ,先对被处理图像进行细化有助于突出形状特点和减少冗余信息。

细化处理是指在指纹图像二值化以后 ,在不影响纹线连通性的基础上 ,删除纹线的边缘像素 ,直到纹线为单像素宽为止 。理想细化后的纹线骨架应该是原始纹线的中间位置 ,并保持纹线的连通性 、拓扑结构和细节特征 。一种好的细化算法应该满足下

列条件 [14] :

(1)收敛性:迭代必须是收敛的 。

(2)连通性;不破坏纹线的连接性 。

(3)拓扑性:不引起纹线的逐步吞食 ,保持原图像的基本结构特性

(4)保持性:保护指纹的细节特征 。

(5)细化性:骨架纹线的宽度为 1 个像素,即单像素宽 。

(6)中轴性:骨架尽可能接近条纹中心线 。 (7)快速性:算法简单 ,速度快 。

已有的算法迭代按迭代方式的不同分为串行算法和并行算法

中,当前迭代的结果不仅取决于前一次的迭代迭代图像

。在串行细化算法

,而且与当前处理情况有关 ;

,串行细化算法的处理结

。并行细化算法

,因此

,因

而在并行方式中 ,当前迭代仅仅是由前一次的迭代情况决定

果依赖于对像素处理的先后顺序 ,因而像素点的消除或保留不可预测 对图像进行细化时利用相同的条件同时检测所有像素点 从算法原理上并行算法优于串行算法

,其结果具有各向同性

。由于并行细化算法具有快速而准确的特性

此他一直是人们研究的热点 ,并且相应的提出了许多并行细化算法 法,R.W.Hall 细化算法 , Rosenfeld 细化算法 ,Zhang & Suen 算法等等 。 性能上这些算法各有所长 。

不同的文献上有不同的关于细化方法

,如 OPTA 细化算 细化算以及 ZR 细化

,如王家隆等 [16] 以及王业琳等 [17] 的细化模

板。 制约细化的直观表现在计算速度 、毛刺和断点上 。因而细化中选择一个好的模板

. 专业 专注 .

.. .. ..

很关键 。 模板分为保留模板和消除模板 ,消除模板就是根据条件判定这点去除作为背 景的模板 ;保留模板则是根据条件判定这点保留作为前景的模板

。这样就可以将较粗

的图像曲线细化成很细的以像素为单位的线 ,大大减少了图像的信息量 ,有利于匹配的高效进行 。

方法步骤 :

(1)建立 3 维数组,第一组数据为预处理后的图像信息 ,定义每一个像素点它周围点像素参数 。

(2)对于满足 6 种情况的模板 ,赋值为 2 ,其实为像素 1 情况 。 对于满足后六种情况的模板赋值为 3,别的情况点值不做改变 。

(3)16 种消去模板是在不满足上述情况下衍生的模板 ,对于满足这些模板的点像素全为 0,以上都未涉及的点不做改变 。

(4)循环进行上述过程 ,到所有点值不改变为止 ,最多进行 20 次细化 。

2.4 指纹图像的特征提取

2.4.1 指纹特征提取概述

特征提取就是对细化后的指纹图像提取表示其特征的信息的操作

。我们前面所叙

,以

述的指纹图像预处理目的就是为指纹的特征提取和最终识别建立一个良好的基础

保证整个系统识别率比较高 。 对于自动指纹识别技术而言 ,选择一种合适的 、能表达指纹唯一性的特征量是非常关键的 。一般说来 ,这种特征应有以下性质 :

(1)单一性:要求这种特征能够充分体现指纹的唯一性 。

(2)可测试性 :适用于指纹匹配算法 ,便于在匹配算法中应用 。 (3)紧凑性 :要求提取的特征不应包含指纹唯一性以外的冗余信息

尽量小,便于存储 、管理和计算 。

(4)鲁棒性:要求这种特征对噪声的存在与指纹形变不敏感

,并且信息量要

. 专业 专注 .

.. .. ..

为了比较两个指纹是否相同

,需要从指纹图像中提取出能表示指纹唯一性的特

征 。Galton 提出的指纹细节点是人工指纹匹配中最常用的特征 。指纹由脊线和谷线交替构成 ,在大多数地方纹线连续且相互平行 ,而某些局部不连续的地方构成了细节点 。Galton 定义了 4 种细节点类型 :分叉点,端点,环、岛,并指出细节点具有唯一性,可以用于指纹匹配 。

目前已定义的特征类型己达

150 多种,但是这些扩展的特征往往不易提取相互区

分,并且它们都可以由端点和分叉点的组合进行描述 ,这使得端点和分叉点成为最常用的结构特征 ,也称为细节特征 ,它被认为是最稳定 、最容易检查的 ,而且占全部特征点的 80%以上 。 提取出的特征点还必须经过伪特征点的去除 ,尽可能地去除掉由于二值化、细化处理等过程引入的伪特征点 。最后确定出特征点的类型 、位置、方向。

本章就是根据端点和分叉点是最常用的结构特征 ,提取满足一定条件接近的点 ,再去除不是端点和分叉点的伪特征点 ,最终实现特征值的提取 ,有利于后面匹配的展开。

2.4.2 指纹特征提取和去伪特征

目前在细化二值图像中提取细节特征多是用

8 邻域法 ,该方法比较简单 ,在得到

。对于

可靠的细化二值图像后 ,只需要一个

3×3 的模板便可将端点和分叉点提取出来

细化二值图像 ,像素点的灰度值只有 2 种情况 。

在提取指纹图像的细节特征中 ,由于图像质量和噪声的干扰 ,存在大量的伪特征

点,实验表明一幅质量较差的图像在经过预处理 ,细节特征提取后可能产生多达一 、

两万个细节特征点 ,其中包含了大量的伪特征点 ,这些伪特征点的存在 ,不但使匹配

的速度大大降低 ,还使指纹识别性能急剧下降 ,造成识别系统的拒真率和误识率的上升,因此在进行指纹匹配之前 ,应对细节特征进行验证 ,尽可能将伪特征点去除 ,同时保留真特征点 。

. 专业 专注 .

.. .. ..

去除伪特征点是特征提取要解决的一个重要问题 。对整个图像进行特征提取后

得到的特征点并非全部都是真实的分叉点和端点 ,由于指纹质量 ,细化、特征提取过程引入的噪声造成了很多伪特征点 ,特别是图像边缘有很多图像分割产生的边界伪端点。

本章中将特征建立为一个 3 维数组,前两组用于记录端点和分叉点 。第 3 足则专门记录伪特征最终可以除去 。端点和分叉点的判断都是运用了上述的 8 邻域法 。其中

(1)端点的判断条件为 :周围的 8 邻域两两相邻当且仅当存在 2 个不同值 。此时的处理为记录数组 2,记录点的个数 ,并将该点记为 0,而它的 8 邻域点记为 1。

(2)分叉点的判断条件为 :周围的 8 邻域两两相邻当且仅当存在 6 个不同值 。此时的处理为记录数组 1,在上述基础上记录点的个数 ,并将该点记为 0,而它的 8 邻域点记为 1。处理方式类同上面 。

(3)伪特征的判断比较多 ,全部计入数组 3。 第一类:超出一定边界 ,仿真中用了 17 。此时把它和周围 8 点记为 0,并在上述基础上减去不是特征点的个数 。第二类 :对于直线 12 点的和不超过 1 的点也被视为伪特征点 ,处理方式类同 。第三类为断点 :在上述的范围内 ,特征值为 2。此时在更小 12 的上半范围或下半范围 ,特征仍为 2 则认为为断点 。 处理方式为把它和周围 8 点置为 0,在上述基础上减去 2 倍的断点数 。第四类为毛刺 ,毛刺的判断类似于短点 。 因为指纹变化多的部分为中间 ,所以处理的范围比断点来的范围小 ,并且在特征值为 2 的情况下仅仅是缩小范围再次判断特征值 ,这点就不相同了 。毛刺的处理方式也类同断点 。第五类为小桥 。 小桥的判断条件为 :10 范围内特征值为 1, 6 的上半范围或下半范围特征值仍为 1。此时该点则被视为小桥 。小桥处理方式类同断点和毛刺 。

2.5 指纹图像匹配方法

2.5.1 指纹图像匹配介绍

. 专业 专注 .

.. .. ..

指纹匹配要解决的是对两幅给定指纹图像的特征模式进行比对 ,判断这两幅图像是否来自同一个人的同一手指 。指纹匹配是自动指纹识别的最后一步 ,也是非常关键的一步。

指纹图像匹配方面 ,主要有基于图像 ,脊线结构和特征点的方法 。 基于特征点的匹配算法具有简单 、快速、鲁棒性等优点 。目前最为常用的方法是 FBI 提出的细节点坐

标模型来做细节匹配 。它利用脊线上的端点和分叉点这两种关键点来鉴定指纹

。通过

将细节点表示为点模式 ,一个指纹识别问题可以转化为一个点模式匹配问题 。 点匹配算法是通过某些变换 ,如平移变换 、旋转变化 、伸缩变换 ,可以把两个点集中的对应点匹配起来 。对于基于细节点的匹配思路大体分两种 :基于直角坐标系的特征识别和

基于极坐标系的特征识别

[19]

点模式匹配 [20] 将注册指纹和待识指纹的特征点定义为两个点集和

P 和 Q 通过平移

和旋转使得两个点集重合点数最多 。点模式匹配是著名的数学难题 。目前的指纹识别 系统主要采用基于节点的匹配方法 ,即点模式匹配 。从模板指纹和输入指纹中选取一

个节点作为参考节点对 ,在进行节点匹配时先利用基准点将指纹对齐

,然后再评估其

它节点的匹配程度 。很多情况下选用图片的中心点 。当然,他所带来的难题有 :

(1)如何快速找到基准点把两幅指纹对齐 。

(2)例如图片 A 中有图片 B 中不存在的点 ,集合 B 中也有图片 A 中不存在的点 ,匹配的时候如何处理这些点 。

(3)由于指纹存在变形位移 ,任何一对匹配点之间都不是绝对相等 ,而是存在一定的差距。设计算法的时候 ,必须要有一定的容错能力 。

(4)最终得到的是两幅指纹的相似度 ,怎么确定相似度的计算方式 。

另外,计算匹配的时间即效率性也很重要 。 参考点在指纹图像的识别中是也至关重要的 。 能获得参考点表明从被识别图像中获得的任意比特流与登记图像中获得的比

. 专业 专注 .

.. .. ..

特流相近 ,则有可能得出两图像相同的结果 ;没有参考点表明被识别图像完全是另一 不同图像 。

2.6 本章小结

本章主要介绍指纹图像分割及其算法

,指纹图像分割分类 :主要提到的基于像

。对比两种方法优

素。 基于像素的指纹图像分割中目前流行多尺度小波变换和阈值法

缺点:小波变换的特点是压缩比高 ,压缩速度快 ,压缩后能保持信号与图象的特征不

变,且在传递中可以抗干扰

。阈值法其优点是计算简单 ,仅需比较灰度值即可 ;运算

效率较高 ,速度快 ;它的缺陷在于仅考虑图像的灰度信息

,而忽略了图像的空间信

息,对于图像中不存在明显灰度差异或各物体的灰度值范围有较大熏叠的图像分割问 题难以得到准确的结果 。

此外,本章还详细介绍了均值方差法 ,以及应用之前的处理要求 :在使用方差均

值法之前还要使用归一法将图变为低频图 。

. 专业 专注 .

.. .. ..

3 仿真结果及其分析

3.1 仿真结果及分析

指纹图像读取如图 2.1, 指纹识别归一化仿真结果如图

2.2,对指纹图像的首次预处

理,将指纹图像的对比度和灰度调整到一个固定级别上 ,为后续处理提供一个较为统一的图像规格 。指纹识别分割仿真结果如图 2.3,从中可以看到用方差均值法分割既适用于比较圆滑的指纹 ,又适用纹线变化很大的指纹图像 。在归一化处理降频和通过区域均值方差的后得到的图像条纹清晰 ,轮廓分明 ,对于后面的细化和匹配有很大的帮助 。该方法快捷 ,损坏程度低 ,缺点是计算有一定的复杂度 ,要通过 2 次方差均值来处理。

原图像

归一化

图 2.1 指纹识别原图像图

图 2.2 指纹识别归一化图像

. 专业 专注 .

分割

二值化

.. .. ..

图 2.3 指纹识别分割后图像

图 2.4 指纹识别二值化图像

指纹识别二值化仿真结果如图 2.4,指纹图像的二值化就是从一个具有纹理灰度变化

的指纹图像生成另一个只有两种色调的黑白分明的指纹图像 。 二值化操作使得指纹灰度中,相对色调较浅的谷纹线部分被转成了白色 ,而相对较深的脊纹线部分被转成了

黑色。使具有灰度的图像变成只有黑白两种色调的二值化图像 。 可以提高指纹图像中脊线和谷线的对比度 , 因此有利于细节点提取 。指纹识别二值化去噪仿真图 2.5。

指纹识别细化仿真结果如图 2.6,从分割后的二值化处理图像中 ,我们可以看到 ,整个灰度变成了黑白的二值图像图 ,图像的条纹比较清楚 ,它的实现有助于压缩数据量和细化的实现 。

细化将黑白二值图像细化成了单个像素带宽的指纹图像 ,由于模板的选择不同 ,上图中的细化图像一定程度上存在毛刺 、分叉、断点等不理想的情况 。 所以在特征提出前还需稍加处理 ,细化好的模板选择可以提高图片的质量和细化运算的速度 。

当然,此次仿真的细化还有待改进 。对于细化中出现的毛刺现象 ,要根据局部特征来修改判定模板来决定这个点的像素 ,甚至可以减少模板的数量和判断次数 ,既简化模板,又提高运算速度 ,这点还可以有很大的深入研究 。

. 专业 专注 .

.. .. ..

指纹识别特征提取仿真结果如图 2.7,这个特征点分布结果图包含了特征点和伪特征点。 在匹配前还需对毛刺 、小桥等伪特征点加以识别和处理 ,这样有助于后面匹配的进行,使匹配更加精确无误和快速 。 对于特征点和伪特征点的判断方法还有很多 ,端点判断和分叉点判断属于比较多的特征点判断 ,伪特征点也还有别的种类 ,短线之类也属于处理后出现的伪特征 ,本仿真中没有对此作出处理 。在上述基础上也可以根据特征基本构造出相似原图像 。指纹识别匹配仿真结果如图 2.8。

指纹识别匹配结果仿真结果如图

2.9,匹配与否用 success 值返回 。返回 1 说明匹配

,耗时 3.516411 秒。

细 化

成功,返回 0 则匹配失败 。图 2.9 给出的匹配结果为匹配不成功

图 2.5 指纹识别二值化去噪后图像

特征提取

图 2.6 指纹识别细化图像

. 专业 专注 .

.. .. ..

图 2.7 指纹识别特征提取图像

图 2.8 指纹识别匹配图像

图 2.9 指纹识别匹配结果

3.2 本章小结

本章主要对指纹识别系统进行了仿真 ,并对其结果进行了分析 ,归纳,及总结。本文中采用的匹配方式 ,为主流的点模匹配法 。 首先采用了在原图基础上修改参数值来验证

的方法 。这种方法将原特征点的相对距离进行修改 ,使得各个特征点之间

的相对距离产生差异 。 在找到核心点后 ,比较它们相对距离的差异 ,对于满足一定值的点视为可积点 。最后判断可积点的个数和相对值 。当它们个数满足一定条件时即为匹配成功 ,不满足视为不匹配 。 匹配与否用 success 值返回 。返回 1 说明匹配成功 ,返

回 0 则匹配失败 。 此外,本实验做了多次仿真 ,经验证该系统可以较好的进行识别 ,准确率达到了 95.1% 。

. 专业 专注 .

.. .. ..

本文系统地介绍了指纹识别技术的发展和国内外研究应用现状 ,阐述了建立指纹识别系统的必要性和意义 ,实现了基于 Matlab 的指纹识别系统 。针对指纹图像的特性,将均值方差法 、模板细化 、点模匹配应用于指纹识别技术 ,以改善指纹识别算法的性能。

本系统主要完成了如下几项工作 :

(1)综合分析了指纹分割目前主流的三种趋势 ,选择了基于区域特征的均值方差法并用 MATLAB 语言来对指纹图像进行分割 。分割前还对图像进行低频归一化处理 。

(2)对分割好的图像进行了二值化处理 ,使得细化的信息量大大减少 。选用了一种比较精确的模板细化 ,得到了指纹细化后比较清晰的图像 。

( 3)对细化后的图像进行特征提取 ,其中分叉点和端点视为特征点 ,小桥、边界、毛刺视为伪特征点 ,对他们进行加以区分和提取以进行匹配 。

指纹匹配算法具有速度快 、指纹模板小的优点 ,但是容易受指纹图像噪声干扰 。

基于全局特征匹配方式主要使用指纹纹理特征 ,具有特征稳定 、信息丰富的优点 ,但是匹配精度不高 、指纹模板比较大 。

指纹自动识别技术仍是国内外研究的热点问题实现自动指纹识别系统的实时性网

络化提高系统识别率是人们研究的目标

,相信不久以后指纹识别将广泛应用于我们的生

活为人们提供更方便更快捷的服务 。

. 专业 专注 .

.. .. ..

参考文献

[1] 王崇文 ,李见为 ,周宏文 .指纹识别系统的设计与实现 .计算机应用 ,2001.21(12):23-25

[2] 谢立锋 ,陈灵枭 .浅谈指纹识别基本原理 .技术与市场 ,2008.1:44-45

[3] 耿德英 ,陈志敏 ,陈梅琴 .图像处理在指纹识别中实践 .西昌学院学报 ,2009.32(4):72-74

[4] 田捷 ,陈新建 ,张阳阳 . 指纹识别技术的新进展 . 自然科学进展 ,2006.16(4):400-40

[5] 王业琳 ,宁新宝 ,尹义龙 ,指纹图像细化算法的研究 .南京大学学报 :自然科学版 ,2003.39(4):469-475

[6] 张雄 ,贺贵明 ,一种指纹宏观曲率特征提取算法.武汉大学软件工程国家重点实验室,2002.1

[7]R. J. Langley, TRW Integrated Engineering Division

SIG Technology Review ? Winter 1995 .3-10

[8] 高月红 .灰度图像分割算法的研究 .科技信息 .2009.27:17-18

[9] 郭丹颖 ,吴成东 ,曲道奎 .小波变换理论应用进展 . 信息与控制 .2004.33(1):67-71

[10] 李晨丹 ,徐进 ,指纹图像预处理和特征提取算法的MATLAN 实现 .计算机工程与科学 .

[11] 张雄 ,贺贵明 ,一种指纹宏观曲率特征提取算法 .武汉大学软件工程国家重点实验室.2002.11

[12] 赵磊 ,陈琼 ,陈中 . 一种新的改进 OPTA 细化算法 . 计算机应用 ,2008.28(10):2639-2642

[13].Asker M. Bazen,Fingerprint

Identification - Feature Extraction,Matching, and Database

Search

[14]Ranade

osenfeld .A.oint Pattem Matching by Relaxation .Pattem

Recogition,1993.12(2):269-275

[15] 郭晶莹 , 吴晴 , 商庆瑞 . 基于 Matlab

实现的指纹图像细节特征提取 . 计算机仿真 , 2007. 24:1

[16] KASS M,WITKIN A,TERZOPOULOS D . Snake:Active contour models.International Journal of Computer Vision.1988.1(4):32l-331

[17]MORTENSEN E N,BARRETF W A.Intelligent scissors for image composition.Proceedings of the ACM SIGGRAPH 95.New York,NY.USA:ACM.1995.8:191-198

. 专业 专注 .

..

.. ..

附录 MATLAB 程序

clc

clear all close all

originI=imread('1.tif'); [m,n,s] = size(originI); I=originI; if s == 3

I = rgb2gray(originI);

end

I=double(I);

figure, imshow(uint8(I)) tic

%%%%%%%%%%% 归一化 M=0;var=0; for x=1:m

for y=1:n

M=M+I(x,y);

end

end

M1=M/(m*n); for x=1:m

. 专业 专注 .

..

.. ..

for y=1:n

var=var+(I(x,y)-M1)*(I(x,y)-M1);

end

end

var1=var/(m*n);

%c=sqrt(30*(I(x,y)-M1)/var1); for x=1:m

for y=1:n

if I(x,y)>=M1

I(x,y)=150+sqrt(100*(I(x,y)-M1)*(I(x,y)-M1)/var1); else

I(x,y)=150-sqrt(100*(M1-I(x,y))*(M1-I(x,y))/var1);

end

end

end

figure, imshow(uint8(I))

%%%%%%%%%%%%% 分割 M=10; H = m/M;

%1

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;

end

end

aveg1(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))*(I(i+(x-1)*M,j+(y-1)*M)-aveg1(x,y))+var;

end

end

var1(x,y)=var/(M*M);

end end

Gmean=0;Vmean=0; for x=1:H

for y=1:L

Gmean=Gmean+aveg1(x,y);

. 专业 专注 .

..

.. ..

Vmean=Vmean+var1(x,y);

end

end

Gmean1=Gmean/(H*L); Vmean1=Vmean/(H*L);

gtemp=0;gtotle=0;vtotle=0;vtemp=0; for x=1:H

for y=1:L

if Gmean1>aveg1(x,y)

gtemp=gtemp+1;

gtotle=gtotle+aveg1(x,y);

end

if Vmean1vtemp=vtemp+1;

vtotle=vtotle+var1(x,y);

end end

end

G1=gtotle/gtemp;V1=vtotle/vtemp;

gtemp1=0;gtotle1=0;vtotle1=0;vtemp1=0;

. 专业 专注 .

..

.. ..

for x=1:H

for y=1:L

if G1gtemp1=gtemp1+1;

gtotle1=gtotle1+aveg1(x,y);

end

if 0vtemp1=vtemp1+1;

vtotle1=vtotle1+var1(x,y);

end end

end

G2=gtotle1/gtemp1;V2=vtotle1/vtemp1;

moban=zeros(H,L); T1=G2;T2=V2;

T3=G1-100;T4=V2-10; for x=1:H

for y=1:L

if aveg1(x,y)>T1 && var1(x,y)moban(x,y)=1;

end

if aveg1(x,y). 专业 专注 .

..

.. ..

moban(x,y)=1;

end

end end

for x=2:H-1

for y=2:L-1

if moban(x,y)==1

if moban(x-1,y) + moban(x-1,y+1) +moban(x,y+1) +

moban(x+1,y+1) + moban(x+1,y) + moban(x+1,y-1) + moban(x,y-1) + moban(x-1,y-1) <=4

moban(x,y)=0;

end

end

end

end %2

Icc = ones(m,n); for x=1:H

for y=1:L

if moban(x,y)==1

for i=1:M

. 专业 专注 .

.. .. ..

for j=1:M

I(i+(x-1)*M,j+(y-1)*M)=G1; Icc(i+(x-1)*M,j+(y-1)*M)=0;

end end end

end

end

figure, imshow(uint8(I))

%%%%%%%%%%% 二值化

temp=(1/9)*[1 1 1;1 1 1;1 1 1];% 模版系数

%3

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);

end

end

I=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*(sum1+sum2+sum3+sum4+sum5+sum6+sum7+sum8)/8)

sumf = summin;

else

sumf = summax; end

. 专业 专注 .

..

if sumf > b Im(x,y)=128;

else

Im(x,y)=255; end

end end

for i=1:m

for j =1:n

Icc(i,j)=Icc(i,j)*Im(i,j);end

end

for i=1:m

for j =1:n

if (Icc(i,j)==128)

Icc(i,j)=0;

else

Icc(i,j)=1;

end;

end

end

. 专业 专注 .

..

..

.. .. ..

%figure,imshow(double(Icc))

%%%%%%%%%%% 二值化后处理

Im=Icc; In=Im; for a=1:4 for i=2:m-1

for j=2:n-1

if Im(i,j)==1

if Im(i-1,j) + Im(i-1,j+1) +Im(i,j+1) + Im(i+1,j+1) + Im(i+1,j)

+ Im(i+1,j-1) + Im(i,j-1) + Im(i-1,j-1) <=3

In(i,j)=0;

end end

if Im(i,j)==0

if Im(i-1,j) + Im(i-1,j+1) +Im(i,j+1) + Im(i+1,j+1) + Im(i+1,j)

+ Im(i+1,j-1) + Im(i,j-1) + Im(i-1,j-1) >=7

In(i,j)=1;

end end

end

end

. 专业 专注 .

..

.. ..

Im=In; end

%%%%%%%%%%%%%%%% 细化 figure,imshow(In); I=xihua(In);

figure,imshow(I);

%%%%%%%%%%% 特征提取 xxx=0; Im=I;

tezheng=zeros(m,n,3); for i=2:m-1

for j=2:n-1

if Im(i,j)==1 a = 0;

if Im(i-1,j) ~= Im(i-1,j+1)

a = a + 1;

end

if Im(i-1,j+1) ~= Im(i,j+1)

a = a + 1;

end

if Im(i,j+1) ~= Im(i+1,j+1)a = a + 1;

end

. 专业 专注 .

.. .. ..

if Im(i+1,j+1) ~= Im(i+1,j)

a = a + 1;

end

if Im(i+1,j) ~= Im(i+1,j-1)

a = a + 1;

end

if Im(i+1,j-1) ~= Im(i,j-1)

a = a + 1;

end

if Im(i,j-1) ~= Im(i-1,j-1)

a = a + 1;

end

if Im(i-1,j-1) ~= Im(i-1,j)

a = a + 1;

end if a==6

tezheng(i,j,1)=i; tezheng(i,j,2)=j; tezheng(i,j,3)=1; xxx=xxx+1;

I(i,j)=0;

%%%分叉点判断

I(i-1,j)=1;I(i-1,j+1)=1;I(i,j+1)=1;I(i+1,j+1)=1;I(i+1,j)=1;I(i+1,j-1)=1;I(i,j-1)=1;I(i-1,j-1)=1;

. 专业 专注 .

.. .. ..

%%%%%%%1 表示分叉点

end

if a==2 tezheng(i,j,1)=i; tezheng(i,j,2)=j; tezheng(i,j,3)=2; xxx=xxx+1;

I(i,j)=0;

0 表示端点

%%%% 端点判断

I(i-1,j)=1;I(i-1,j+1)=1;I(i,j+1)=1;I(i+1,j+1)=1;I(i+1,j)=1;I(i+1,j-1)=1;I(i,j-1)=1;I(i-1,j-1)=1;

end

end end

end

figure,imshow(I)

%%%%%%%%%%% 特征提取后处理 ~ Izz=I; for i=1:m

for j=1:n

if tezheng(i,j,3)~=0

if i-17<0||i+17>m|| j-17<0||j+17>n

tezheng(i,j,3)=0; xxx=xxx-1;

%%%消除端点

%%%%%%%%%%%%% 去除边界点

. 专业 专注 .

.. .. ..

Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1)

=0;Izz(i-1,j-1)=0;

else

a=0;b=0;c=0;d=0;

a=I(i+1,j)+I(i+2,j)+I(i+3,j)+I(i+4,j)+I(i+5,j)+I(i+6,j)+I(i+7,j)+I(i+8,j)+I(i+9,j)+I(i+10,j)+I( i+11,j)+I(i+12,j);

b=I(i-1,j)+I(i-2,j)+I(i+3,j)+I(i-4,j)+I(i-5,j)+I(i-6,j)+I(i-7,j)+I(i-8,j)+I(i-9,j)+I(i-10,j)+I(i-11,j) +I(i-12,j);

c=I(i,j+1)+I(i,j+2)+I(i,j+3)+I(i,j+4)+I(i,j+5)+I(i,j+6)+I(i,j+7)+I(i,j+8)+I(i,j+9)+I(i,j+10)+I( i,j+11)+I(i,j+12);

d=I(i,j-1)+I(i,j-2)+I(i,j-3)+I(i,j-4)+I(i,j-5)+I(i,j-6)+I(i,j-7)+I(i,j-8)+I(i,j-9)+I(i,j-10)+I(i,j-11) +I(i,j-12);

if ( a<=1 && b<=1 && c<=1 && d<=1)

tezheng(i,j,3)=0; xxx=xxx-1;

%%% 消除端点

Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1)

=0;Izz(i-1,j-1)=0;

. 专业 专注 .

.. .. ..

end

end end

end

end

%%%%%%%%%%%% 消除断点 for i=17:m-17

for j=17:n-17

if tezheng(i,j,3)==2

for x=i-12:i+12

for y=j-12:j-1

if tezheng(x,y,3)==2

tezheng(i,j,3)=0; tezheng(x,y,3)=0; xxx=xxx-2;

Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1) =0;Izz(i-1,j-1)=0;

Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;I zz(x,j-1)=0;Izz(x-1,y-1)=0;

end

. 专业 专注 .

.. .. ..

end

for x=i-12:i+12

for y=j+1:j+12

if tezheng(x,y,3)==2

tezheng(i,j,3)=0;

tezheng(x,y,3)=0;

xxx=xxx-2;

Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1) =0;Izz(i-1,j-1)=0;

Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;I zz(x,j-1)=0;Izz(x-1,y-1)=0;

end

end end end

end

end

end

%figure,imshow(I)

%%%%%%%%%%%%%% 消除毛刺 for i=10:m-10

. 专业 专注 .

.. .. ..

for j=10:n-10

if tezheng(i,j,3)==2

for x=i-5:i+5

for y=j-5:j+5

if tezheng(x,y,3)==1

tezheng(i,j,3)=0; tezheng(x,y,3)=0; xxx=xxx-2;

Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1) =0;Izz(i-1,j-1)=0;

Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;I zz(x,j-1)=0;Izz(x-1,y-1)=0;

end

end

end

end

end

end

%figure,imshow(I)

%%%%%%%%%%% 消除小桥 for i=10:m-10

. 专业 专注 .

.. .. ..

for j=10:n-10

if tezheng(i,j,3)==1

for x=i-6:i+6

for y=j-6:j-1

if tezheng(x,y,3)==1

tezheng(i,j,3)=0; tezheng(x,y,3)=0; xxx=xxx-2;

Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1) =0;Izz(i-1,j-1)=0;

Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;I zz(x,j-1)=0;Izz(x-1,y-1)=0;

end

end

end

for x=i-6:i+6

for y=j+1:j+6

if tezheng(x,y,3)==1

tezheng(i,j,3)=0; tezheng(x,y,3)=0; xxx=xxx-2;

. 专业 专注 .

.. .. ..

Izz(i-1,j)=0;Izz(i-1,j+1)=0;Izz(i,j+1)=0;Izz(i+1,j+1)=0;Izz(i+1,j)=0;Izz(i+1,j-1)=0;Izz(i,j-1) =0;Izz(i-1,j-1)=0;

Izz(x-1,y)=0;Izz(x-1,y+1)=0;Izz(x,y+1)=0;Izz(x+1,y+1)=0;Izz(x+1,y)=0;Izz(x+1,y-1)=0;I zz(x,j-1)=0;Izz(x-1,y-1)=0;

end

end

end

end

end

end

figure,imshow(Izz)

%%%%%%%%%%%%%%%%% 匹配 pipei=zeros(xxx,3); ddd=1;

for i=10:m-10

for j=10:n-10

if ddd~=xxx+1

if tezheng(i,j,3)~=0

pipei(ddd,1)=tezheng(i,j,1); pipei(ddd,2)=tezheng(i,j,2); pipei(ddd,3)=tezheng(i,j,3);

. 专业 专注 .

.. .. ..

ddd=ddd+1;

end

end

end

end

%计算 p1 与格

pp=zeros(xxx,xxx-1); qqq=1;

for fff=1:xxx-1

for i=qqq:xxx-1

d=sqrt((pipei(qqq,1)-pipei(i+1,1)).^2+(pipei(qqq,2)-pipei(i+1,2)).^2);

% jiao=arctan((pipei(i+1,2)-pipei(qqq,2))/(pipei(i+1,1)-pipei(qqq,1)); % jiaodu(qqq,i)=jiao; pp(qqq,i)=d;

end

if qqq~=1

for ttt=1:qqq

if ttt~=qqq

pp(qqq,ttt)=pp(ttt,qqq-1);

% jiaodu(qqq,ttt)=180-jiaodu(ttt,qqq);

end

end end

. 专业 专注 .

.. .. ..

qqq=qqq+1;

end qq=pp; T=6; yyy=xxx;

count=zeros(xxx-1,yyy-1); for i=1:xxx-1

for j=1:yyy-1

for x=1:xxx-1

for y=1:yyy-1

%% 修改矩阵

%%%%%%手动修改模板的匹配

p1(x,y)=abs(pp(i,x)-qq(j,y));

end end

count1=0;

for v=1:xxx-1

if min(p1(v,1:35))count1=count1+1; end end

count(i,j)=count1;

end end

%%%%%%%%%% 找最大值的坐标

. 专业 专注 .

..

.. ..

temp=0; for i=1:xxx-1

for j=1:yyy-1

if count(i,j)>temp

temp=count(i,j); Pdingdian=i; Qdingdian=j;

end end

end

count2=0;success=0; for x=1:xxx-1

for y=1:yyy-1

p1(x,y)=abs(pp(Pdingdian,x)-qq(Qdingdian,y));

end

end

for x=1:xxx-1 %%%%%%%%%%% 整行

if (min(p1(x,1:35))<6)

count2=count2+1; end

end

. 专业 专注 .

..

.. ..

if (count2/min(xxx,yyy)>0.6 && count2>9)

success=1

end success toc

. 专业 专注.

.. .. ..

本课题完成之际 。 此时,首先要向我的导师 ,信通学院崔艳秋老师致以诚挚的谢

意。 本课题的研究全程都是在崔艳秋老师的悉心指导下完成的

。从最初的选题 ,确定

整体研究思路 ,再到技术设计 ,每一步工作 ,崔老师都给予我莫大帮助 ,指出我的不足,并给出提出解决办法 。 并且每次我提出问题或请求 ,老师都倾其所有 ,将她所了解的专业知识悉数告知 。崔老师对工作严肃认真 ,对学问精益求精的作风 ,给我留下了深刻的印象 ;对学生和蔼可亲的态度也令我深受感动 。 她的严谨细致 、一丝不苟的作风,使我明白了做学问应有的态度 ,并将是我日后学习 、工作的榜样 。

同时,也要感谢在大学四年内所有传授我知识的老师们 ,是你们的悉心教导和治学精神使我有了良好的专业课知识 ,这也是论文得以完成的基础 。

还要感谢所有其他在毕业设计过程中提出意见并给予我帮助的老师和同学们 ,谢谢你们!

. 专业 专注 .

因篇幅问题不能全部显示,请点此查看更多更全内容

Top