• 大小: 835B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-05
  • 语言: Matlab
  • 标签:

资源简介

使用OPTA细化算法,对指纹图像进行细化,为后面的特征提取与匹配打下坚实的基础

资源截图

代码片段和文件信息

% clear;
clc;
A=imread(‘fingerprint.jpg‘);
I=double(imresize(A[512 512]));
J=double(size(512512));
sum=0;
for i=1:512
    for j=1:512
        sum=sum+I(ij);
    end
end
T=sum/(512*512);
for i=1:512
    for j=1:512
        if I(ij)>T
           J(ij)=1;
        else 
           J(ij)=0;
        end
    end
end
% imshow(I[])
% title(‘原图‘)
figureimshow(J[])
title(‘二值化后的图‘)%首先要对指纹图象进行二值化

G=double(size(515515));
for i=2:513
    for j=2:513
        G(ij)=J(i-1j-1);
    end
end
for i=2:513
    G(i1)=J(i-11);
    G(i514)=J(i-1512);
    G(i515)=J(i-1512);
    G(1i)=J(1i-1);
    G(514i)=J(512i-1);
    G(515i)=J(512i-1);
end
G(11)=J(11);
G(1514)=J(1512);
G(1515)=J(1512);
G(5141)=J(5121);
G(5151)=J(5121);
G(514514)=J(512512);
G(515515)=J(512512);
t=0;
H=zeros(512512);
% W=zeros(512;G); 
while (t<=10)%选10为界仅是根据这副图所得的测试最小值
for i=2:513
    for j=2:513
      
%            W(t;ij)-W(t-1;ij)==0) 
%         p1=G(i-1j-1);
%         p2=G(i-1j);
%         p3=G(i-1j+1);
%         p4=G(ij-1);
%         p5=G(ij);
%         p6=G(ij+1);
%         p7=G(i+1j-1);
%         p8=G(i+1j);
%         p9=G(i+1j+1);
%         p10=G(ij+2);
%         p11=G(i+2j);
        if (G(ij)==0)
        if (G(i-1j-1)==1&&G(i-1j)==1&&G(i-1j+1)==1&&G(ij-1)==0&&G(ij)==0&&G(ij+1)==0&&G(i+1j)==0)
            if ((G(i-1j)==1&&G(ij)==0&&G(i+1j)==0&&G(i+2j)==1)||(G(ij-1)==1&&G(ij)==0&&G(ij+1)==0&&G(ij+2)==1))
                G(ij)=0;
            else 
                G(ij)=1;
            end
        elseif (G(i-1j-1)==1&&G(i-1j)==0&&G(ij-1)==1&&G(ij)==0&&G(ij+1)==0&&G(i+1j-1)==1&&G(i+1j)==0)
            if ((G(i-1j)==1&&G(ij)==0&&G(i+1j)==0&&G(i+2j)==1)||(G(ij-1)==1&&G(ij)==0&&G(ij+1)==0&&G(ij+2)==1))
            G(ij)=0;
            else 
                G(ij)=1;
            end
        elseif (G(i-1j)==0&&G(i-1j+1)==1&&G(ij-1)==0&&G(ij)==0&&G(ij+1)==1&&G(i+1j)==0&&G(i+1j+1)==1)
            if ((G(i-1j)==1&&G(ij)==0&&G(i+1j)==0&&G(i+2j)==1)||(G(ij-1)==1&&G(ij)==0&&G(ij+1)==0&&G(ij+2)==1))
                G(ij)=0;
            else 
                G(ij)=1;
            end
        elseif (G(i-1j)==0&&G(ij-1)==0&&G(ij)==0&&G(ij+1)==0&&G(i+1j-1)==1&&G(i+1j)==1&&G(i+1j+1)==1)
            if ((G(i-1j)==1&&G(ij)==0&&G(i+1j)==0&&G(i+2j)==1)||(G(ij-1)==1&&G(ij)==0&&G(ij+1)==0&&G(ij+2)==1))
                G(ij)=0;
            else 
                G(ij)=1;
            end
        elseif (G(i-1j)==1&&G(i-1j+1)==1&&G(ij-1)==0&&G(ij)==0&&G(ij+1)==1&&G(i+1j)==0)
             if ((G(i-1j)==1&&G(ij)==0&&G(i+1j)==0&&G(i+2j)==1)||(G(ij-1)==1&&G(ij)==0&&G(ij+1)==0&&G(ij+2)==1))
                G(ij)=0;
            else 
                G(ij)=1;
            end
        elseif (G(i-1j-1)==1&&G(i-1j)==1&&G(ij-1)==1&&G(ij)==0&&G(ij+1)==0&&G(i+1j)==0)
             if ((G(i-1j)==1&&G(ij)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4080  2006-12-15 16:40  optaxihua.m

----------- ---------  ---------- -----  ----

                 4080                    1


评论

共有 条评论