⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gabor2.m

📁 指纹识别系统设计时gabor滤波的一段简单小程序
💻 M
字号:
function Y=gabor2(X1,X2)

[M,N]=size(X1);
X2=double(X2);
X3=zeros(M,N);
Y=zeros(M,N);
k1=0.15;
k2=0.10;
k3=-0.12;
k4=-0.2;
k5=0.15;
k6=0.2;
k7=-0.1;
k8=-0.2;


%-----------------------------
for i=5:M-4;
    for j=5:N-4;
        if ((X1(i,j)>=0)&(X1(i,j)<((pi/16)+k1+0.20)))|((X1(i,j)>=((15*pi/16)+k8-0.20))&(X1(i,j)<=(pi)));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(4,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if ((X1(i,j)>=0)&(X1(i,j)<((pi/16)+k1)))|((X1(i,j)>=((15*pi/16)+k8))&(X1(i,j)<=(pi)));
            Y(i,j)=X3(i,j);
        end
    end
end
%---------------------------
X3=zeros(M,N);
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((pi/16)+k1-0.20))&(X1(i,j)<((3*pi/16)+k2+0.20));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(3,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((pi/16)+k1))&(X1(i,j)<((3*pi/16)+k2));
            Y(i,j)=X3(i,j);
        end
    end
end
%----------------------------------  
X3=zeros(M,N);
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((3*pi/16)+k2-0.20))&(X1(i,j)<((5*pi/16)+k3+0.20));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(2,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((3*pi/16)+k2))&(X1(i,j)<((5*pi/16)+k3));
            Y(i,j)=X3(i,j);
        end
    end
end
%----------------------------------
X3=zeros(M,N);
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((5*pi/16)+k3-0.20))&(X1(i,j)<((7*pi/16)+k4+0.20));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(1,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((5*pi/16)+k3))&(X1(i,j)<((7*pi/16)+k4));
            Y(i,j)=X3(i,j);
        end
    end
end
%----------------------------------
X3=zeros(M,N);
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((7*pi/16)+k4-0.20))&(X1(i,j)<((9*pi/16)+k5+0.20));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(0,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((7*pi/16)+k4))&(X1(i,j)<((9*pi/16)+k5));
            Y(i,j)=X3(i,j);
        end
    end
end
%---------------------------------
X3=zeros(M,N);
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((9*pi/16)+k5-0.20))&(X1(i,j)<((11*pi/16)+k6+0.20));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(7,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((9*pi/16)+k5))&(X1(i,j)<((11*pi/16)+k6));
            Y(i,j)=X3(i,j);
        end
    end
end
%----------------------------
X3=zeros(M,N);
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((11*pi/16)+k6-0.20))&(X1(i,j)<((13*pi/16)+k7+0.20));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(6,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((11*pi/16)+k6))&(X1(i,j)<((13*pi/16)+k7));
            Y(i,j)=X3(i,j);
        end
    end
end
%------------------------------
X3=zeros(M,N);
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((13*pi/16)+k7-0.20))&(X1(i,j)<((15*pi/16)+k8+0.20));
            X3(i,j)=X2(i,j); 
        end
    end
end
gabor=gabor2d_sub(5,8);
X3=conv2fft(X3,gabor,'same');
for i=5:M-4;
    for j=5:N-4;
        if (X1(i,j)>=((13*pi/16)+k7))&(X1(i,j)<((15*pi/16)+k8));
            Y(i,j)=X3(i,j);
        end
    end
end
imshow(mat2gray(Y))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -