ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

medfilt3

3 次元のメディアン フィルター処理

構文

B = medfilt3(A)
B = medfilt3(A,[m n p])
B = medfilt3(___,padopt)

説明

B = medfilt3(A) は、3 x 3 x 3 のフィルターを使用して 3 次元イメージ A をフィルター処理します。既定の設定では、medfilt3 は境界でのミラーリングによって値を複製し、イメージをパディングします。

B = medfilt3(A,[m n p]) は、3 次元イメージ A に 3 次元のメディアン フィルター処理を適用します。B の各出力ボクセルは、A の対応するボクセル周辺にある m x n x p の近傍の中央値を含んでいます。

B = medfilt3(___,padopt) は、medfilt3 による配列の境界のパディング方法を制御します。

すべて折りたたむ

ノイズを含む 3 次元表面を作成します。

[x,y,z,V] = flow(50);
noisyV = V + 0.1*double(rand(size(V))>0.95) - 0.1*double(rand(size(V))<0.05);

メディアン フィルター処理を適用します。

filteredV = medfilt3(noisyV);

ノイズを含む表面と共にフィルター処理された表面を表示します。

subplot(1,2,1)
hpatch1 = patch(isosurface(x,y,z,noisyV,0));
isonormals(x,y,z,noisyV,hpatch1)
set(hpatch1,'FaceColor','red','EdgeColor','none')
daspect([1,4,4])
view([-65,20])
axis tight off
camlight left
lighting phong

subplot(1,2,2)
hpatch2 = patch(isosurface(x,y,z,filteredV,0));
isonormals(x,y,z,filteredV,hpatch2)
set(hpatch2,'FaceColor','red','EdgeColor','none')
daspect([1,4,4])
view([-65,20])
axis tight off
camlight left
lighting phong

入力引数

すべて折りたたむ

入力イメージ。3 次元、実数、非スパースの数値配列または論理配列として指定します。入力イメージが、整数クラスの場合、出力値もすべて整数になります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

近傍のサイズ。実数の正の整数の 3 要素数値ベクトル [m n p] として指定します。mn および p の値は奇数の整数でなければなりません。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

パディング オプション。以下のいずれかの値に指定します。

説明
'symmetric'配列自体の鏡像で配列をパディング
'replicate'境界の要素の繰り返しによる配列のパディング
'zeros'配列の 0 でパディング

データ型: char

出力引数

すべて折りたたむ

出力イメージ。入力イメージ A と同じクラスとサイズの 3 次元配列として返されます。

参考

R2016b で導入

この情報は役に立ちましたか?