Comment calculer probabilité, entropie et redondance?
Bonjour à tous,
ce forum est mon dernier espoir.
J'essaie depuis des jours de calculer l'entropie H, les probabilités Pi et la redondance R d'une image. Malheureusement je n'y arrive pas. :calim2:
Formule corrigée que j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function [Pi,H,R]=entropie(signal)
[m,N]=size(signal);
H=0;
pdf=zeros(max(max(signal))+1,1);
signal=reshape(signal,N*m,1);
signal=signal';
for i=1:N*m
j=uint16(signal(i)+1);
pdf(j)=pdf(j)+1;
end
for i=1:length(pdf)
Pi(i)=pdf(i)/(N*m);
end
for i=1: length (pdf)
if(Pi(i)~=0)
H=H+Pi(i)*log2 Pi(i)*(-1);
end
end |
Peut-être quelqu'un aurait-il la gentillesse de m'éclairer?
Voici mes données :
Soit la matrice I suivante représentant les intensités des pixels d'une image de gris codée sur 8 bits de résolution (4*4)
I= (12 12 4 4; 4 4 16 0; 6 6 6 6; 4 0 16 6)
Il faut déjà que j'établisse une fonction entropie.m dans File -> New-> Function M-File seulement j'ai beau faire, elle ne fonctionne pas.
La formule à utiliser pour l'entropie est :
http://img687.imageshack.us/img687/82/entropie.th.png
Celle pour la redondance :
http://img13.imageshack.us/img13/3576/redondance.th.png
Hmax = Entropie maximale lorsque tous les évènements sont équiprobables.
Voilà. Quelqu'un aurait-il une superbe solution?
Voici le début du code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| i=[12 12 4 4;4 4 16 0; 6 6 6 6;4 0 16 6]
i =
12 12 4 4
4 4 16 0
6 6 6 6
4 0 16 6
>> s=i(1)+i(2)+i(3)+i(4)+i(5)+i(6)+i(7)+i(8)+i(9)+i(10)+i(11)+i(12)+i(13)+i(14)+i(15)+i(16)
s =
106 |
Merci d'avance à qui pourra ma répondre.