1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| screen = get(0, 'ScreenSize');
x=screen(3);
y=screen(4);
pos=[50 50 900 600];
H=figure('name','test1','menubar','none','numbertitle','off',...
'Position',pos,'color',[0.7 0.7 0.7])
%afficher l'image dans la fenetre
Z=X(:,:,1);
Z0=X;
[N0,M0,L0]=size(Z0);
Pix0=N0*M0;
imshow(Z0);title('Veuillez selectionner grace au curseur 5 classes l''une apres l''autre')
%relevée des échantillons et calcul de leurs statistiques
%Echantillon 1
Z1=imcrop(Z0);
[N1,M1,K1]=size(Z1);
Pix1=N1*M1;
moy1 = mean(double(Z1(:)))
cov1 = mean([cov(double(Z11(:))) ; cov(double(Z12(:))) ; cov(double(Z13(:)))])
Prob1=Pix1/Pix0;
%Echantillon 2
Z2=imcrop(Z0);
[N2,M2,K2]=size(Z2);
moy2 = mean(double(Z2(:)))
cov2 = mean([cov(double(Z21(:))) ; cov(double(Z22(:))) ; cov(double(Z23(:)))])
Pix2=N2*M2;
Prob2=Pix2/Pix0;
%Echantillon 3
Z3=imcrop(Z0);
[N3,M3,K3]=size(Z3);
moy3 = mean(double(Z3(:)))
cov3 = mean([cov(double(Z31(:))) ; cov(double(Z32(:))) ; cov(double(Z33(:)))])
Pix3=N3*M3;
Prob3=Pix3/Pix0;
%Echantillon 4
Z4=imcrop(Z0);
[N4,M4,K4]=size(Z4);
moy4 = mean(double(Z4(:)))
cov4 = mean([cov(double(Z41(:))) ; cov(double(Z42(:))) ; cov(double(Z43(:)))])
Pix4=N4*M4;
Prob4=Pix4/Pix0;
%Echantillon 5
Z5=imcrop(Z0);
[N5,M5,K5]=size(Z5);
moy5 = mean(double(Z5(:)))
cov5 = mean([cov(double(Z51(:))) ; cov(double(Z52(:))) ; cov(double(Z53(:)))])
Pix5=N5*M5;
Prob5=Pix5/Pix0;
%Echantillon 6
Z6=imcrop(Z0);
[N6,M6,K6]=size(Z6);
moy6 = mean(double(Z6(:)))
cov6 = mean([cov(double(Z61(:))) ; cov(double(Z62(:))) ; cov(double(Z63(:)))])
Pix6=N6*M6;
Prob6=Pix6/Pix0;
close;
%*************************************test********************************
for k=1:N0
for l=1:M0
f1=max(-log(cov1)^0.5-0.5*(double(Z0(k,l))-moy1)'*cov1^-1*(double(Z0(k,l))-moy1));
f2=max(-log(cov2)^0.5-0.5*(double(Z0(k,l))-moy2)'*cov2^-1*(double(Z0(k,l))-moy2));
f3=max(-log(cov3)^0.5-0.5*(double(Z0(k,l))-moy3)'*cov3^-1*(double(Z0(k,l))-moy3));
f4=max(-log(cov4)^0.5-0.5*(double(Z0(k,l))-moy4)'*cov4^-1*(double(Z0(k,l))-moy4));
f5=max(-log(cov5)^0.5-0.5*(double(Z0(k,l))-moy5)'*cov5^-1*(double(Z0(k,l))-moy5));
f6=max(-log(cov6)^0.5-0.5*(double(Z0(k,l))-moy6)'*cov6^-1*(double(Z0(k,l))-moy6));
if f1>f2 & f1>f3 & f1>f4 & f1>f5 & f1>f6
Z(k,l,1)=255;Z(k,l,2)=0;Z(k,l,3)=0; % ROUGE
elseif f2>f1 & f2>f3 & f2>f4 & f2>f5 & f2>f6
Z(k,l,1)=0;Z(k,l,2)=255;Z(k,l,3)=0; % VERT
elseif f3>f1 & f3>f2 & f3>f4 & f3>f5 & f3>f6
Z(k,l,1)=0;Z(k,l,2)=0;Z(k,l,3)=255; % BLEU
elseif f4>f1 & f4>f2 & f4>f3 & f4>f5 & f4>f6
Z(k,l,1)=255;Z(k,l,2)=255;Z(k,l,3)=0; % JAUNE
elseif f5>f1 & f5>f2 & f5>f3 & f5>f4 & f5>f6
Z(k,l,1)=255;Z(k,l,2)=0;Z(k,l,3)=255; % MAGENTA
elseif f6>f1 & f6>f2 & f6>f3 & f6>f4 & f6>f5
Z(k,l,1)=0;Z(k,l,2)=255;Z(k,l,3)=255; % CYAN
end
end
end
subplot(122);imshow(Z); |
Partager