Bonjour à tous,
Je cherche à calculer la rapport de correlation ("correlation ratio") entre 2 images I et J (256 niveaux de gris).
Ce que j'ai fait :
1 - je calcule l'histogramme de l'image I (noté hI) et je le normalise donc j'ai hI(i) = probabilité d'avoir le niveau de gris i dans l'image I ;
2 - je calcule la moyenne de l'image I (noté mI), mI = somme(i = 1 à 256) i * hI(i) ;
3 - je calcule la variance de l'image I (noté sigmaI²), sigmaI² = (somme(i = 1 à 256) i^2 * hI(i) ) - mI ;
4 - je calcule l'histogramme de l'image J (noté hJ) et je le normalise donc
j'ai hJ = probabilité d'avoir le niveau de gris j dans l'image J ;
5 - je calcule la moyenne de l'image J (noté mJ), mJ = somme(j = 1 à 256) j * hJ(j) ;
6 - je calcule l'histogramme joint de I et J (noté hIJ) et je le normalise donc j'ai hIJ(i, j) = probabilité ;
7 - code matlab qui calcule le rapport de corrélation :
sigmaIj = 0;
for j = 1 : 1 : 256
pj = hJ(j);
i2pij = 0;
for i = 1 : 1 : 256
i2pij = i2pij + i^2*hIJ(i,j);
end
if(pj~=0)
sigIj = sigIj + (pj *((1/pj)*i2pij)-mJ^2);
end
end
CR = 1- (1/sigI2)*sigIj;
Je pense que je n'ai pas bien compris la définition du rapport de corrélation et du coup mon implémentation est fausse. Si quelqu'un peut m'éclairer... Merci
PS : définition rapport de correlation que j'ai utilisé voir la page 46 du pdf section 2.2.1.5 http://www.creatis.insa-lyon.fr/~dsarrut/these/