How can I implement mutual information?
Afficher commentaires plus anciens
I have been trying to implement Mutual Information equation, but the code seems that its not working fine. Can anyone help me?
fixed_current = uint8(fixed_current);
moving_current = uint8(moving_current);
v_x_y = zeros (256);
for i = 1:256
for j = 1:256
coord_r = fixed_current(i,j)+1;
coord_c = moving_current(i,j)+1;
v_x_y (coord_r,coord_c) = v_x_y (coord_r,coord_c) + 1;
end
end
p_x_y = v_x_y./ (256*256);
indNoZero = v_x_y ~= 0;
p_x_y_n0 = p_x_y(indNoZero);
% Define the entropy
H_x = entropy(fixed_current);
H_y = entropy(moving_current);
H_x_y = -sum(sum(p_x_y_n0.*log2(p_x_y_n0)));
% Define the MI
res = (H_x + H_y - H_x_y)/(max(H_x,H_y));
1 commentaire
Nirav Sharda
le 15 Déc 2016
Modifié(e) : Nirav Sharda
le 15 Déc 2016
Are you getting any error messages or is the code giving incorrect results? Also, I was able to find some file exchange examples on this link .
Réponses (0)
Catégories
En savoir plus sur Programming dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!