中央値フィルター (medfilt2) のように機能する円形フィルターを定義するにはどうすればよいですか? [nn] の正方形近傍ではなく、半径 r の円形近傍で中央値を実行します。2d-image でこの操作を実行する必要があります。(もちろん、できれば速く動作する必要があります)。ありがとう
質問する
1933 次
1 に答える
5
ordfilt2
循環ドメインで使用します。例えば、
B = ordfilt2(A, order, domain)
Aの各要素を、ドメイン内のゼロ以外の要素によって指定された、ソートされたネイバーのセットのorder番目の要素に置き換えます。あなたの場合、次のような循環ドメインを作成します
domain=fspecial('disk',10)>0;
これにより、素敵なバイナリディスク(21x21マトリックス)が生成されます。これはおそらくニーズには大きすぎるため、fspecial
またはを使用して必要なサイズに変更できますimresize
。次に、中央値は、ドメインのソートされた非ゼロ要素から取得された中央値です。したがって、次のようになります。
B = ordfilt2(A,round(0.5*numel(find(domain)))),domain);
于 2013-03-10T08:57:56.953 に答える