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

📄 calcule.asv

📁 Code matlab pour l extraction de la signature de l iris.Nous avons appliquer la méthode de box cuont
💻 ASV
字号:
%___________Lecture du fichier test.txt__________%

fid = fopen('test.txt');
mydata = textscan(fid,'%s','delimiter','$');

mydata{:}
fclose(fid);
%_______Nombre d'images a traiter_______%
NBimage=size(mydata{:},1);
E=[];
%_______________________________________%
for nb=1:NBimage

%____Chargement de l'image origine__%
%[X, map]=imread('iris.bmp');
[X, map]=imread(mydata{1}{nb});
[l,c]=size(X);


% --------- Detection des parties unitile dans l'image ------colonnes--%
% [X, map]=imread('001_1_1.bmp');
% 
% [l,c]=size(X)
% n=1;
% %_________________elimination de la partie unitile du haut___________%
% for i=1:l
%     test=0;
%       for j=1:c
%         if (X(i,j)==0)       
%             test=1;
%         end
%       end        
%       if(test==0)
%             X=X(i:l,:);
%             break;
%       end
% end
% %________Detection de la position du noir dans chaque colonne_______%
% [l,c]=size(X)
% n=1;
% lin(1:512)=l;
% for j=1:c
%     
%     testo=0;
%     k=0;
%       for i=1:l
%         if (X(i,j)==0)       
%             testo=1;
%         end
%         if(testo==1 && k==0)
%             lin(n)=i;
%             k=1;
%         end
%        
%       end        
%      n=n+1;  
% end
% %__________________________________________________________________%





%__________________________________________________________________%


imshow(X)
[l,c]=size(X)
            

%imshow(X);colormap(map);
%____D閏omposion en ondelette niveau 1_____%
[A1,H1,V1,D1] = dwt2(X,'bior1.3','mode','sym');

%____D閏omposion en ondelette niveau 2___A_%
[AA2,AH2,AV2,AD2] = dwt2(A1,'bior1.3','mode','sym');

%____D閏omposion en ondelette niveau 2___H_%
[HA2,HH2,HV2,HD2] = dwt2(H1,'bior1.3','mode','sym');

%____D閏omposion en ondelette niveau 2___V_%
[VA2,VH2,VV2,VD2] = dwt2(V1,'bior1.3','mode','sym');

%____D閏omposion en ondelette niveau 2___D_%
[DA2,DH2,DV2,DD2] = dwt2(D1,'bior1.3','mode','sym');

%_____________________Ensemble des 64 imagettes________________________%
i=1;
%____D閏omposion en ondelette niveau 3___AA_%
[AAA,AAH,AAV,AAD] = dwt2(AA2,'bior1.3','mode','sym');
data{i}=struct('A1',AAA,'A2',AAH,'A3',AAV,'A4',AAD);i=i+1;

%____D閏omposion en ondelette niveau 3___AH_%
[AHA,AHH,AHV,AHD] = dwt2(AH2,'bior1.3','mode','sym');
data{i}=struct('A1',AHA,'A2',AHH,'A3',AHV,'A4',AHD);i=i+1;

%____D閏omposion en ondelette niveau 3___AV_%
[AVA,AVH,AVV,AVD] = dwt2(AV2,'bior1.3','mode','sym');
data{i}=struct('A1',AVA,'A2',AVH,'A3',AVV,'A4',AVD);i=i+1;

%____D閏omposion en ondelette niveau 3___AD_%
[ADA,ADH,ADV,ADD] = dwt2(AD2,'bior1.3','mode','sym');
data{i}=struct('A1',ADA,'A2',ADH,'A3',ADV,'A4',ADD);i=i+1;

%____D閏omposion en ondelette niveau 3___HA________________________________%
[HAA,HAH,HAV,HAD] = dwt2(HA2,'bior1.3','mode','sym');
data{i}=struct('A1',HAA,'A2',HAH,'A3',HAV,'A4',HAD);i=i+1;

%____D閏omposion en ondelette niveau 3___HH_%
[HHA,HHH,HHV,HHD] = dwt2(HH2,'bior1.3','mode','sym');
data{i}=struct('A1',HHA,'A2',HHH,'A3',HHV,'A4',HHD);i=i+1;

%____D閏omposion en ondelette niveau 3___HV_%
[HVA,HVH,HVV,HVD] = dwt2(HV2,'bior1.3','mode','sym');
data{i}=struct('A1',HVA,'A2',HVH,'A3',HVV,'A4',HVD);i=i+1;

%____D閏omposion en ondelette niveau 3___HD_%
[HDA,HDH,HDV,HDD] = dwt2(HD2,'bior1.3','mode','sym');
data{i}=struct('A1',HDA,'A2',HDH,'A3',HDV,'A4',HDD);i=i+1;

%____D閏omposion en ondelette niveau 3___VA_%
[VAA,VAH,VAV,VAD] = dwt2(VA2,'bior1.3','mode','sym');
data{i}=struct('A1',VAA,'A2',VAH,'A3',VAV,'A4',VAH);i=i+1;

%____D閏omposion en ondelette niveau 3___VH_%
[VHA,VHH,VHV,VHD] = dwt2(VH2,'bior1.3','mode','sym');
data{i}=struct('A1',VHA,'A2',VHH,'A3',VHV,'A4',VHD);i=i+1;

%____D閏omposion en ondelette niveau 3___VV_%
[VVA,VVH,VVV,VVD] = dwt2(VV2,'bior1.3','mode','sym');
data{i}=struct('A1',VVA,'A2',VVH,'A3',VVV,'A4',VVD);i=i+1;

%____D閏omposion en ondelette niveau 3___VD_%
[VDA,VDH,VDV,VDD] = dwt2(VD2,'bior1.3','mode','sym');
data{i}=struct('A1',VDA,'A2',VDH,'A3',VDV,'A4',VDD);i=i+1;

%____D閏omposion en ondelette niveau 3___DA_%
[DAA,DAH,DAV,DAD] = dwt2(DA2,'bior1.3','mode','sym');
data{i}=struct('A1',DAA,'A2',DAH,'A3',DAV,'A4',DAD);i=i+1;

%____D閏omposion en ondelette niveau 3___DH_%
[DHA,DHH,DHV,DHD] = dwt2(DH2,'bior1.3','mode','sym');
data{i}=struct('A1',DHA,'A2',DHH,'A3',DHV,'A4',DHD);i=i+1;

%____D閏omposion en ondelette niveau 3___DV_%
[DVA,DVH,DVV,DVD] = dwt2(DV2,'bior1.3','mode','sym');
data{i}=struct('A1',DVA,'A2',DVH,'A3',DVV,'A4',DVD);i=i+1;

%____D閏omposion en ondelette niveau 3___DD_%
[DDA,DDH,DDV,DDD] = dwt2(DD2,'bior1.3','mode','sym');
data{i}=struct('A1',DDA,'A2',DDH,'A3',DDV,'A4',DDD);i=i+1;

%___________Fin Imagettes____________%

%________________Calculer energie________________%
% E1=0;E2=0;E3=0;E4=0;
% k=1;
% for e=1:16
%    for f=1:c
%     for s=1:l
%         
% %         E1=E1+sum(data{e}.A1(1:lin(s),:)^2));
%                 
%         E2=E2+sum(data{e}.A2(1:lin(s),1:c));
%                 
% %         E3=E3+sum(sum(data{e}.A3(1:lin(s),:)^2));
% %                 
% %         E4=E4+sum(sum(data{e}.A4(1:lin(s),:)^2));
% %         
%     end
% %         E(nb,k)=E1;
%         E(nb,k+1)=E2;
% %         E(nb,k+2)=E3;
% %         E(nb,k+3)=E4
%    end
% k=k+4;
% end
% %___________________________________________________________%
k=1;
for e=1:16
   
        E(nb,k)=sum(sum(data{e}.A1.^2));
        E(nb,k+1)=sum(sum(data{e}.A2.^2));
        E(nb,k+2)=sum(sum(data{e}.A3.^2));
        E(nb,k+3)=sum(sum(data{e}.A4.^2));

k=k+4;
end


end

save E E;


%________________Calculer la moyenne des 閚ergies_________________%
[lin col]=size(E);
moyenne=[];

for y=2:col
 MOY=0;   
    for z=1:NBimage %_____NBimage =432______%
        MOY=MOY+E(z,y);
    end
    moyenne(1,y-1)=MOY/lin;
end

%moyenne(1,1)=0;

plot(moyenne);
xlabel('Imagettes');
ylabel('Energie');

save Moy moyenne;
%_________________________________________________________________% 
% %*******************affichage********************%
load E;
load moy;
% __________________Tri du vecteur energie moyenne_____________________%
Tri=sort(moyenne,'descend');


%______________________________calcul du seuil__________________________%

S=sqrt(2)*((Tri(1)+Tri(2)+Tri(3))/3)/max(Tri(1),Tri(2))

%S=0.79
% 
Signature=[];
[N_lin N_col]=size(E);

for k=1:N_lin
% %_________________Resultat de la signature de l'image___________________%
for i=1:63

    if(abs(E(k,i+1))/moyenne(i)>S)
        Signature(k,i)=sign(E(k,i+1));
    
    else
        Signature(k,i)=0;
    end
    
%     if((E(k,i+1)/moyenne(i))>S)
%         Signature(k,i)=1;
%     
%     else
%         Signature(k,i)=0;
%     end

end
end
save sing Signature
% figure(3)
% imshow(Signature);
% %________________________________________________________%

⌨️ 快捷键说明

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