メディアンフィルタ適用時特定の要素を除外する方法
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Takanori Aihara
am 7 Okt. 2024
Kommentiert: Takanori Aihara
am 9 Okt. 2024
medfilt2関数で[9 9]の範囲にメディアンフィルタ処理を行う際、0の要素を計算対象外に指定したいのですが可能なのか分かりません。
ご存じの方いらっしゃればご教授お願いします。
0 Kommentare
Akzeptierte Antwort
Akira Agata
am 7 Okt. 2024
たとえば 2次元配列 I に対して [9 9] の範囲で値が 0 の要素を計算対象外とした median フィルタ処理をするには、以下のようになります。
% 値が 0 の要素を計算対象外とした median フィルタ処理
myMedfilt = @(x) median(x(x~=0));
J = nlfilter(I, [9 9], myMedfilt);
3 Kommentare
Akira Agata
am 9 Okt. 2024
はい、ご理解のとおりです。
ちなみに、万が一 [9 9] の範囲内がすべて 0 の領域があった場合、その部分は出力が nan となってしまう点ご注意下さい。もしそのようなケースにも対応する (たとえば nan ではなく 0 を出力する) には、myMedfilt の部分を無名関数ではなくカスタム関数として作成するのが良いかと思います。
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu インストールとライセンスの紹介 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!