资源简介
利用matlab实现指纹识别,利用gui
代码片段和文件信息
function [OutputprintXofCenterYofCenter] = centralizing(fingerprintctrl)
global immagine n_bands h_bands n_arcs h_radius h_lato n_sectors matrice
x=[-16:1:16];
y=[-16:1:16];
dimx=size(x2);
dimy=size(y2);
% varianza gaussiana ordine filtro complesso
varianza=sqrt(55);
ordine=1;
gamma=2;
filtro_core=zeros(dimxdimy);
filtro_delta=zeros(dimxdimy);
for ii=1:dimx
for jj=1:dimy
esponente=exp(-(x(ii)^2+y(jj)^2)/(2*varianza^2));
% filtro core
fattore=x(ii)+i*y(jj);
filtro_core(iijj)=esponente*fattore^ordine;
% filtro delta
fattore=x(ii)-i*y(jj);
filtro_delta(iijj)=esponente*fattore^ordine;
end
end
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
%------------------------------------
% The low-pass filter ---------------
%------------------------------------
% Gaussian Low Pass Filter ----------
%------------------------------------
x=[-16:1:16];
y=[-16:1:16];
dimx=size(x2);
dimy=size(y2);
varianza=sqrt(1.2);
filtro=zeros(dimxdimy);
for ii=1:dimx
for jj=1:dimy
esponente=exp(-(x(ii)^2+y(jj)^2)/(2*varianza^2));
filtro(iijj)=esponente;
end
end
% normalization
filtro=filtro/sum(sum(filtro));
%------------------------------------
%------------------------------------
img=fingerprint;
img=double(img);
%--------------------------------------------------------------------------
% complex field at 0 level
[gxgy]=gradient(img);
num=(gx+i*gy).^2;
den=abs((gx+i*gy).^2);
pos=find(den);
num(pos)=num(pos)./den(pos);
z=zeros(size(img1)size(img2));
z(pos)=num(pos);
pos=find(den==0);
z(pos)=1;
%**********************************
%--------------------------------------------------------------------------
if 1==0%------------------------------- ----------------------> vecchio algoritmo che risale piramide gaussiana
%-------------------------------------
% complex field at level 1
z1=conv2fft(zfiltro‘same‘);
z1=dyaddown(z11‘m‘);
num=z1;
den=abs(z1);
pos=find(den);
num(pos)=num(pos)./den(pos);
z1=zeros(size(z11)size(z12));
z1(pos)=num(pos);
pos=find(den==0);
z1(pos)=1;
%**********************************
%-------------------------------------
% complex field at level 2
z2=conv2fft(z1filtro‘same‘);
z2=dyaddown(z21‘m‘);
num=z2;
den=abs(z2);
pos=find(den);
num(pos)=num(pos)./den(pos);
z2=zeros(size(z21)size(z22));
z2(pos)=num(pos);
pos=find(den==0);
z2(pos)=1;
%**********************************
%-------------------------------------
% complex field at level 3
z3=conv2fft(z2filtro‘same‘);
z3=dyaddown(z31‘m‘);
num=z3;
den=abs(z3);
pos=find(den);
num(pos)=num(pos)./den(pos);
z3=zeros(size(z31)size(z32));
z3
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10752 2008-05-30 15:01 源程序\centralizing.m
文件 5635 2008-06-06 00:19 源程序\conv2fft.m
文件 1921 2008-05-15 09:47 源程序\Cropping.m
文件 10263 2008-06-09 16:26 源程序\fprec.m
文件 18616 2008-06-12 11:08 源程序\fp_databa
文件 616 2008-05-15 09:48 源程序\gabor2d_sub.m
文件 2866 2009-11-20 16:25 源程序\GUI.m
文件 66614 2008-06-05 22:39 源程序\Left loop salt.bmp
文件 66614 2001-01-11 11:56 源程序\Left loop.bmp
文件 66616 2008-06-05 22:38 源程序\Left loop180.bmp
文件 424 2004-06-19 20:09 源程序\mirror.m
文件 132118 2000-08-21 00:28 源程序\other.bmp
文件 122 2004-06-19 20:10 源程序\recrop.m
文件 66614 2008-06-05 22:40 源程序\Right loop salt.bmp
文件 66614 2001-01-11 11:56 源程序\Right loop.bmp
文件 66616 2008-06-05 22:37 源程序\Right loop180.bmp
文件 2747 2008-05-15 09:48 源程序\sector_norm.m
文件 66614 2008-06-05 22:32 源程序\Twin loop salt.bmp
文件 66614 2001-01-11 11:56 源程序\Twin loop.bmp
文件 66616 2008-05-28 09:21 源程序\Twin loop180.bmp
文件 382 2009-11-20 16:18 源程序\Unti
文件 499 2004-06-19 20:04 源程序\vedicentro.m
文件 1176 2008-05-15 09:48 源程序\whichsector.m
文件 66614 2008-06-05 22:42 源程序\Whorl salt.bmp
文件 66614 2001-01-11 11:56 源程序\Whorl.bmp
文件 66616 2008-05-28 09:19 源程序\Whorl180.bmp
目录 0 2009-11-20 17:18 源程序
----------- --------- ---------- ----- ----
987513 27
............此处省略0个文件信息
评论
共有 条评论