基于matlab的指纹图像增强方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

设计题目:指纹图像的增强

学院:电子工程学院

专业:电子信息工程

班级:

学号:

姓名:

电子邮件:

日期: 2013 年 9 月

成绩:

指导教师:

一、设计概述

1.课程设计题目:指纹图像的增强方法

2.基本要求:读取初始指纹图像,设计程序,实现指纹图像的增强,使指纹的

纹理更加清晰,便于识别。

3.指纹图像增强的意义:

指纹是人类手指末端指腹上由凹凸的皮肤所形成的纹路。指纹能使手在接触物件时增加摩擦力,从而更容易发力及抓紧物件。是人类进化过程式中自然形成的。目前尚未发现有不同的人拥有相同的指纹,所以每个人的指纹也是独一无二。由于指纹是每个人独有的标记,近几百年来,罪犯在犯案现场留下的指纹,均成为警方追捕疑犯的重要线索,使得指纹识别技术得到了飞快的发展,指纹图像的识别也就变得非常具有意义,但是通过传感器等方式获取到的指纹图像往往是比较模糊的,识别率相对较低,此时,指纹图像增强就孕育而生,通过对指纹图像的增强处理,得出了具有较清晰的图像,是识别率更高。

二.设计思路:指纹图像增强的主要步骤及方法

①读取指纹图像

②指纹图像灰度化处理

③指纹图像平滑处理

④指纹图像的腐蚀处理

⑤指纹图像的锐化处理

⑥指纹图像二值化

⑦指纹图像纹理的细化处理

三.具体的处理流程及其分析

1.指纹图像的读取

将通过传感器或者别的方式获取到的指纹图像读取到matlab中;如 .bmp .jpg 等格式的图片文件。

通过matlab实现:

I=imread(‘文件路径+图像名.jpg');

2. 指纹图像灰度化处理

数字图像可分为灰度图像和彩色图像。通过灰度化处理和伪彩色处理,可以使伪彩色图像与灰度图像相互转化;灰度化就是使彩色的R,G,B分量值相等的过程

I=rbg2gray(I)

3.指纹图像平滑处理(此处我们使用的是中值滤波的方法处理)

图像平滑的主要目的是减少图像噪声。图像噪声来自于多方面,有来自于系统外部的干扰(如电磁波或经电源窜进系统内部的外部噪声),也有来自于系统内部的干扰(如摄像机的热噪声、电器机械运动而产生的抖动噪声等内部噪声)。实际获得的图像都因受到干扰而含有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。减少噪声的方法可以在空间域或频率域处理。在空间域中进行时,基本方法就是求像素的平均值或中值;在频率域中则运用低通滤波技术。

图像平滑总是要以一定细节模糊为代价,因此如何尽量平滑掉图像的噪声,又尽量保持图像细节,是图像平滑研究的主要问题之一。

此处我们使用的是中值滤波的方法处理。中值滤波是一种非线性处理技术,由于它在实际运算过程中并不需要知道图像的统计特性,所以比较方便。在一定的条件下,中值滤波可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声非常有效;但是,对一些细节多,特点是点、线、尖顶细节较多的图像则不宜采用中值滤波的方法。中值滤波的目的是在保护图像边缘的同时,去除噪声。

中值滤波的特性:

(1) 对某些输入信号中值滤波具有不变性

(2)中值滤波的去噪声性能

中值滤波可以用来减弱随机干扰和脉冲干扰。由于中值滤波是非线性的,因此对随机输入信号数学分析比较复杂。中值滤波的输出与输入噪声的概率密度分布有关,而领域平均法的输出与输入分布无关。中值滤波在抑制随机噪声上要比领域法差一些,但对于脉冲烦扰,中值滤波是非常有效的。

(3)中值滤波的频谱特性:

由于中值滤波是非线性运算,在输入与输出之间的频率上不存在一一对应的关系,故不能用一般线性滤波器频率特性分析方法。采用总体实验观察法,经大量实验表明,中值滤波器的频率响应与输入信号的频谱有关,呈现不规则波动不大的曲线,中值滤波幅谱特性起伏不大,可以认为信号经中值滤波后,频谱基本不变。

中值滤波的matlab实现:

I1=medfilt2(I,[5,5]);

figure,imshow(I);

figure,imshow(I1);

对带有噪声的指纹图像进行预处理,经过滤波后的图像能够消除图像中的一部分干扰影响。

4.指纹图像的腐蚀处理

指纹图像腐蚀运算后使得指纹纹路更细,便于后续的处理,但指纹图像显得模糊,但是接下来我们将对指纹图像进行锐化,使得图像边缘更加清晰。

灰度腐蚀的matlab实现程序:

s=ones(3,3);

I2=imerode(I1,s);

figure,imshow(I2);

5.指纹图像的锐化处理

图像锐化即对图像进行处理,使图像的边缘变得鲜明。目的是为了突出图像的边缘信息,加强轮廓特征,以便于人眼的观察和机器的识别对比。

这里我们采用的是Sobel算子对图像增强。Matlab实现程序如下

I3=double(I2);

h=fspecial('sobel');

K=filter2(h,I3);

figure,imshow(K)

K1=I3-K;

figure,imshow(K1);

指纹图像竖直方向的纹路有很大的残缺,显然该图像的清晰度不令人满意,为了获得较清晰的指纹图像,我们将对上述图像进行修补,本文所使用的方法是将锐化处理前的图像逆时针旋转90度,再以上述同样的方法对图像进行锐化增强,由此得到的图像再顺时针旋转90度。

matlab实现程序:

%图像逆时针旋转90度再进行锐化

I=imread('f:\image2_0.jpg');

J=double(I);

h=fspecial('sobel');

K=filter2(h,J);

figure,imshow(K)

K1=J-K;

figure,imshow(K1');

imwrite(K1','f:\s2.jpg');

先将两幅指纹图像进行配准,配准完成后,再进行简单的融合。

%两幅图像配准

I1=imread('f:/s1.jpg');

I2=imread('f:/s2.jpg');

J1=double(I1);

J2=double(I2);

相关文档
最新文档