メディアンフィルタ適用時特定の要素を除外する方法
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Takanori Aihara
le 7 Oct 2024
Commenté : Takanori Aihara
le 9 Oct 2024
medfilt2関数で[9 9]の範囲にメディアンフィルタ処理を行う際、0の要素を計算対象外に指定したいのですが可能なのか分かりません。
ご存じの方いらっしゃればご教授お願いします。
0 commentaires
Réponse acceptée
Akira Agata
le 7 Oct 2024
たとえば 2次元配列 I に対して [9 9] の範囲で値が 0 の要素を計算対象外とした median フィルタ処理をするには、以下のようになります。
% 値が 0 の要素を計算対象外とした median フィルタ処理
myMedfilt = @(x) median(x(x~=0));
J = nlfilter(I, [9 9], myMedfilt);
3 commentaires
Akira Agata
le 9 Oct 2024
はい、ご理解のとおりです。
ちなみに、万が一 [9 9] の範囲内がすべて 0 の領域があった場合、その部分は出力が nan となってしまう点ご注意下さい。もしそのようなケースにも対応する (たとえば nan ではなく 0 を出力する) には、myMedfilt の部分を無名関数ではなくカスタム関数として作成するのが良いかと思います。
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur インストールとライセンスの紹介 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!