1
基于MATLAB指纹识别预处理报告
图 像 处 理 课 程 设 计 报 告
设计题目:指纹识别预处理
专业班级:____信息3班______
学生姓名:______郭言学______
指导教师:______蔡丽梅______
考试形式: 面试(答辩)
成 绩:__________________
日 期: 2014年4月2日
2
目录
基于MATLAB指纹识别预处理报告 ............................................................................................ 1
目录........................................................................................................................................... 2
摘要........................................................................................................................................... 3
MATLAB软件设计 ................................................................................................................. 3
MATLAB操作步骤: ............................................................................................................. 4
图像处理 ................................................................................................................................... 4
实验总结: ............................................................................................................................... 5
3
摘要
指纹图像预处理是指纹识别的前提,它的好坏直接影响到指纹识别的成败,
但由于指纹图像降质带来的困难,并根据指纹图像的特征提出了合理的假设,再
根据假设提出了增强指纹图像对比度的算法、这些算法处理效果好,能有效地解
决指纹图像的预处理问题。
MATLAB软件设计
设计思路
采集到的指纹图像受各种原因的影响,是一幅含较多噪声的灰度图像。预处
理的目的就是去除图像中的噪声,把它变成一幅清晰的点线图,这样才能提取正
确的指纹特征,从而达到后边的正确匹配。预处理过程主要包括指纹规格化,平
滑滤波处理,方向增强处理,二值化,细化等,它是指纹自动识别系统中极为关
键的一步,它的好坏将直接影响着指纹识别的效果。在此基础上,提取指纹特征
信息,得到输入指纹特征模板,然后用输入指纹特征模板与已登记的指纹特征模
板进行匹配,最后显示识别结果。
篮框为后续
识别步骤
指纹识别的处理过程
指纹图像预处理
指纹获得
归一化 指纹增强 二值化 指纹细化
指纹分割
特征提取
输出
指纹匹配
4
MATLAB操作步骤:
其整体结构如上图所示,对此,我们将通过MATLAB进行以下的步骤:
1 读入图像:通过MATLAB指令imread将图像读入。
2 图像灰度化:通过MATLAB指令将图像进行灰度化,同时将其保存为bmp
的图像格式。
3 显示图像:将指纹图像进行初步处理,二值化,细化等基本步骤,并且在
应用程序中将指纹图像显示出来。
4 保存BMP文件:把修改过的指纹图像存人原来的文件,或者把处理过的指
纹图像另存为一个BMP文件。
5 图像增强:主要有两种增强方法,一是直方图均衡算法,一是对比度的增
强算法。
图像处理
clear all,close all,clc
%指纹图像预处理
I=rgb2gray(im2double(imread('111.jpg')));
figure,imshow(I),title('灰度图');
J=1-I;
y=mean(J(:));
z=std(J(:));
w=(J-y)/z;
figure,imshow(w),title('归一化');
BW=im2bw(w,0.2);
figure,imshow(BW),title('二值化 ');
K=strel('square',2);
open=imclose(imopen(BW,K),K);
5
figure,imshow(open),title('平滑');
LB=medfilt2(BW);
figure,imshow(LB),title('中值滤波);
thin=bwmorph(LB,'thin',Inf);
figure,imshow(thin);title('最大程度细化');
K1=strel('disk',2);
L=imdilate(thin,K1);
figure,imshow(L),title('膨胀');
P=imclose(imopen(L,K1),K1);
figure,imshow(P),title('平滑');
P1=bwmorph(P,'thin',1);
figure,imshow(1-P);title('细化');
实验总结:
本次设计,主要为了学习图像处理的相关知识,弄懂指纹图像的格式,读取
各象素点的颜色信息。将图像转换成灰度图像,根据指纹图像各个部分灰度的不
同,将指纹图像二值化。细化二值化后的指纹图像,提取纹线的骨架。对指纹图
像进行修补,弥补纹线断裂、指头皮肤受伤等缺陷。
6
用Matlab实现这种方法,既能分步对指纹图像预处理算法进行仿真测试,
又可以很直观地看到图像预处理算法的效果。
后续可以实现用Matlab实现的处理结果比较理想,满足识别的应用性。本
文介绍用matlab实现了指纹图像的对比度增强、有效区域的选取、指纹图像的
二值化、指纹的特征值提取等。并选取较好的处理步骤和算法参数解决指纹图像
预处理的问题。