指纹识别算法的matlab实现(7)

2019-03-04 13:16

致 谢

时光如梭,随着毕业论文的完成,我的大学生涯也就要结束。回想我做毕业设计这段时间里,我的指导老师刘文博,对我耐心指导,严格要求,精益求精,在此致以最深的谢意。在撰写论文的这段时间里,我学到了很多我之前不懂的一些专业知识和技能,锻炼了我思考能力和操作能力,对我大学四年的学习有了一个比较全面系统的整理。

在毕业设计的完成过程中,室友和班上的所有同学,他们给我提供了有益的帮助、良好的学习和生活环境,非常感谢他们。

31

参考文献

[1] 李俊山,李旭.数字图像处理.北京:清华大学出版社,2007.4 [2] 阮秋琦.数字图像处理学.北京:电子工业出版社,2001.1

[3] 祝恩,版建平等.自动指纹识别技术.长沙:国防科技大学出版社,2006.5 [4] 查振元、朱华炳.电子门禁系统组成.机电产品开发与创新.2003,(2):13—14 [5] 胡士斌,杨卫平. 指纹图像复合分割算法研究[J]. 计算机工程与应用, 2006,40(12): 71273. [6] 李建华,马小妹,郭成安,基于方向图的动态闽值指纹图像二值化方法.大连理工大学学报.2002,42(5):626-628

[7] 家锋,唐降龙,赵泉.一个基于特征点匹配的联机指纹鉴别系统.哈尔滨工业大学学报,2002,34(1):132-136

[8] 刘文星,王肇圻,母国光.脊线跟踪及其在细化指纹后处理中的应用[J].光电子,激光,2002,13(2):184~187. [9] 王玮著,自动指纹识别系统关键技术研究,重庆,重庆大学光电工程学院,2007,80-82 [10] 罗希平,田捷.自动指纹识别的图像增强和细节匹配算法.软件学报,2002-5,13(5):

946-956 [11] 姜腾云.指纹识别门禁系统的matlab仿真实现.江门:五邑大学,2011. [12] 乔治宏.基于细节结构的指纹特征提取及匹配算法研究.北京:北京工业大学硕士学

位论文,2004-5.

32

附录A 预处理代码

function img = tuxiangyuchuli(path) M=0;var=0;

I=double(imread(path)); [m,n,p]=size(I); 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).^2; end end

var1=var/(m*n); for x=1:m for y=1:n

if I(x,y)>=M1

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

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

figure, imshow(I(:,:,3)./max(max(I(:,:,3))));title(‘归一化’)

%************************************************************************ M =3; %3*3 H = 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; end end

aveg1(x,y)=aveg/(M*M); %计算每一块的方差 for i=1:M;

for j=1:M;

33

var=(I(i+(x-1)*M,j+(y-1)*M)-aveg1(x,y)).^2+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 Vmean1

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 G1

gtemp1=gtemp1-1;

gtotle1=gtotle1+aveg1(x,y); end

if 0

vtemp1=vtemp1+1;

vtotle1=vtotle1+var1(x,y); end end end

G2=gtotle1/gtemp1;V2=vtotle1/vtemp1; e=zeros(H,L); for x=1:H

34

for y=1:L

if aveg1(x,y)>G2 && var1(x,y)

if aveg1(x,y)< G1-100 && var1(x,y)< V2 e(x,y)=1; end end end

for x=2:H-1 for y=2:L-1

if e(x,y)==1

if 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) <=4 e(x,y)=0; end end end end

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

if e(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(I(:,:,3)./max(max(I(:,:,3))));title('分割');

%************************************************************************ 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); end end I=In;

35


指纹识别算法的matlab实现(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:沙湖污水处理厂实习报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: