三次元グレースケール画像内で、指定した範囲内のエントロピーの計算の仕方
3 ビュー (過去 30 日間)
古いコメントを表示
三次元行列を作成してそれを可視化した三次元イメージ画像があるのですが、自分で立体空間を指定して(100×100×100のイメージ内で1×1×1の範囲など)そのなかのエントロピー(黒が集まってれば集まってるほど高い)を計算したいです。 それか、範囲内の密度(黒であればあるほど高い)の計算の仕方なども教えてもらいたいです。
例として作成した三次元イメージを添付します。100×100×100doubleです
0 件のコメント
採用された回答
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Multirate Signal Processing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!