三次元グレースケール​画像内で、指定した範​囲内のエントロピーの​計算の仕方

12 ビュー (過去 30 日間)
thuru
thuru 2017 年 1 月 11 日
コメント済み: michio 2017 年 1 月 27 日
三次元行列を作成してそれを可視化した三次元イメージ画像があるのですが、自分で立体空間を指定して(100×100×100のイメージ内で1×1×1の範囲など)そのなかのエントロピー(黒が集まってれば集まってるほど高い)を計算したいです。 それか、範囲内の密度(黒であればあるほど高い)の計算の仕方なども教えてもらいたいです。
例として作成した三次元イメージを添付します。100×100×100doubleです

採用された回答

michio
michio 2017 年 1 月 11 日
編集済み: michio 2017 年 1 月 11 日
グレースケールのエントロピーは entropy 関数. 範囲を指定しての局所的なエントロピーは entropyfilt 関数 で求められそうです。どちらも、Image Processing Toolbox の関数です。
entropyfilt 関数はデフォルトで、9行9列近傍のエントロピー値を計算しますが、3x3x3ですと、
entropyfilt(I3D, true(3,3,3));
となります。(例えば I3D は 100x100x100 の配列とします) ただ、同じ値が集まっていればいるほど低い値となりますが、用途に合っていますか?
また、3次元画像の事前指定した範囲内の平均値を求める関数として imboxfilt3 関数 があります。グレースケール画像ですと局所的な平均輝度(白ほど高い値)が求まりますが、ryoya suzuki さんのおっしゃる密度の定義とは逆ですが、算出に応用できるかと思うので紹介しますね。
  17 件のコメント
thuru
thuru 2017 年 1 月 27 日
できました!ありがとうございます。
michio
michio 2017 年 1 月 27 日
:)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMultirate Signal Processing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by