How can I implement mutual information?

22 Ansichten (letzte 30 Tage)
Carmen Alabart Gutierrez del Olmo
Bearbeitet: Nirav Sharda am 15 Dez. 2016
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 Kommentar
Nirav Sharda
Nirav Sharda am 15 Dez. 2016
Bearbeitet: Nirav Sharda am 15 Dez. 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 .

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by