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
|
function [y1,y2,y3,mat]=correlation_normal(A)
//Calcul de la matrice de cooccurence en considérant 6 niveaux de gris
matco_0=zeros(6,6);
for i=1:3
for j=1:2
x=A(i,j);
y=A(i,j+1);
matco_0(x+1,y+1) = matco_0(x+1,y+1) + 1;
end
end
matco_180=matco_0';
S0=(matco_0+matco_180)*0.5;
//Normalisation de la matrice
somme0=sum(S0);
S0norme=S0/somme0;
//Calcul des moyennes sur les distributions marginales
moyi=0;
moyj=0;
for i=1:6
for j=1:6
moyi=moyi+i*S0norme(i,j);
moyj=moyj+j*S0norme(i,j);
end
end
moyennei=moyi;
moyennej=moyj;
//Calcul des variances sur les distributions marginales
variancei=0;
variancej=0;
for i=1:6
for j=1:6
variancei=variancei+(i-moyennei)*(i-moyennei)*S0norme(i,j);
variancej=variancej+(j-moyennej)*(j-moyennej)*S0norme(i,j);
end
end
//Calcul de la correlation
correlation=0;
for i=1:6
for j=1:6
correlation=correlation+(i-moyennei)*(j-moyennej)*S0norme(i,j);
end
end
correlation=correlation/(variancei*variancej);
y1=(moyennei+moyennej)/2;
y2=(variancei+variancej)/2;
y3=correlation;
mat=S0norme;
endfunction |