確率変数のエントロピーは、次の式を使用して計算できます。

はどこp(x)
ですかProb(X=x)
。
一連のn
観測値を指定すると、すべての x 値の範囲(x1, x2, .... xn)
を計算します (この場合、すべての値の間で合計します。これを行う最も簡単な方法は、P(X=x)
(0 and 65535)
hist
byteLevel = 65536
% count the observations
observationHist = hist(observations, byteLevel);
% convert to a probability
probXVal = observationHist ./ sum(observationHist);
% compute the entropy
entropy = - sum( probXVal .* log2(probXVal) );
ファイル交換には、チェックアウトする価値のある実装がいくつかあります。
注:wentropy
256バイトレベルを使用しているのはどこですか?ドックのどこにも見当たりませんか?Matlab では、カラー画像のピクセルには 3 つのチャネル (R、G、B) があり、各チャネルには 8 ビット (または 256 バイト レベル?) が必要であることを思い出してください。
また、各チャネルがバインドされているため、次のように to[0 256)
からのマッピングを作成できます。P(R=r,G=g,B=b)
P(X=x)
data = imageData(:,:,1);
data = data + (imgData(:,:,2) * 256);
data = data + (imgData(:,:,3) * 256 * 256);
data
各チャネルが独立している画像の総エントロピーを計算するために使用できると思います。