このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
modefilt
2 次元および 3 次元モードのフィルター処理
説明
は、2 次元イメージまたは 3 次元ボリューム B
= modefilt(A
)A
にモードのフィルター処理を行います。B
の各出力ピクセルは、A
における対応するピクセルの近傍のモード (最も頻繁に現れる値) を含んでいます。A
が 2 次元の場合、modefilt
は 3 行 3 列のモード フィルターを使用します。A
が 3 次元の場合、modefilt
は 3 x 3 x 3 のモード フィルターを使用します。modefilt
は境界要素をミラーリングすることにより、A
をパディングします。
モード フィルター処理は、他のタイプのフィルター処理 (メディアン フィルター処理など) が使用できない categorical データを処理するために役立ちます。
例
入力引数
出力引数
ヒント
モード値について同順位のピクセルが近傍に複数ある場合、この関数は次のタイブレーク アルゴリズムを使用します。
中心ピクセルが同順位のモード値の 1 つである場合、この関数はこの値を使用します。
中心ピクセルが同順位のモード値の 1 つではない場合、この関数は最も数値の小さいモードを使用します。
カテゴリカル入力の場合、この関数は、
categories(A)
によって返されたリストにある 1 番目のカテゴリを (モードと同順位のカテゴリの中で) 選択します。
modefilt
は RGB イメージを 3 次元ボリュームとして扱います。RGB イメージのチャネル単位のフィルター処理を行うには、filtsize
を[3 3 1]
として指定します。たとえば、b = modefilt(a,[3 3 1]);
のようなコードになります。