MATLAB ヘルプ センター
3 次元のメディアン フィルター処理
B = medfilt3(A)
B = medfilt3(A,[m n p])
B = medfilt3(___,padopt)
B = medfilt3(A) は、3×3×3 のフィルターを使用して 3 次元イメージ A をフィルター処理します。既定の設定では、medfilt3 は境界でのミラーリングによって値を複製し、イメージをパディングします。
B
A
medfilt3
例
B = medfilt3(A,[m n p]) は、3 次元イメージ A に 3 次元のメディアン フィルター処理を適用します。B の各出力ボクセルは、A の対応するボクセル周辺にある m x n x p の近傍の中央値を含んでいます。
[m n p]
B = medfilt3(___,padopt) は、medfilt3 による配列の境界のパディング方法を制御します。
padopt
すべて折りたたむ
ノイズを含む 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 gouraud 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 gouraud
入力イメージ。3 次元数値配列または logical 配列として指定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
[3 3 3]
近傍のサイズ。正の奇数の整数の 3 要素ベクトルとして指定します。
データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
"symmetric"
"zeros"
"replicate"
パディング オプション。以下のいずれかの値に指定します。
[314159265]→[5115995133144113314415115995622655662265565115995]
[314159265]→[3331444333144433314441115999222655522265552226555]
0
[314159265]→[0000000000000000314000015900002650000000000000000]
データ型: char | string
char
string
出力イメージ。サイズとデータ型が入力イメージ A と同じである 3 次元数値配列として返されます。
すべて展開する
backgroundPool
ThreadPool
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
medfilt3 は、スレッドベースの環境をサポートするようになりました。
関数 medfilt3 では、近傍サイズが [3, 3, 3] から [31, 31, 31] までの場合のパフォーマンスが向上しました。
たとえば、次のコードは前のリリースよりも約 3 倍高速化しています。
function timingTestMedfilt3 load mristack; noisyV = imnoise(mristack,'salt & pepper',0.2); tic filteredV = medfilt3(noisyV); toc end
およその実行時間は次のとおりです。
R2021a: 0.24 秒
R2021b: 0.08 秒
コードの時間計測は、Windows® 10、Intel® Xeon® Gold 5220 CPU @ 2.2 GHz テスト システム上で、関数 timingTestMedfilt3 を呼び出して行いました。
timingTestMedfilt3
medfilt2
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ