📄 calcule.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 + -