Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

fspecial3

事前定義型の 3 次元フィルターの作成

説明

h = fspecial3(type) は、指定した type の 3 次元フィルター h を作成します。一部のフィルター タイプには、以下の構文で示すような追加パラメーターがオプションで存在します。fspecial3 は、h を相関カーネルとして返します。これは、imfilter で使用するのに適した形式です。

h = fspecial3('average',hsize) はサイズ hsize の平均化フィルター h を返します。これは推奨されません。代わりに imboxfilt3 を使用してください。

h = fspecial3('ellipsoid',semiaxes) は、semiaxes で指定される長さの主半軸を持つ楕円体平均化フィルターを返します。フィルター h は、サイズが 2*ceil(semiaxes)+1 の配列に返されます。

h = fspecial3('gaussian',hsize,sigma) はガウス ローパス フィルターを返します。サイズは hsize、標準偏差は sigma です。これは推奨されません。代わりに imgaussfilt3 を使用してください。

h = fspecial3('laplacian',gamma1,gamma2) は 3 次元ラプラス演算子の形状を近似する 3 x 3 x 3 のフィルターを返します。gamma1gamma2 はラプラス演算子の形状を制御します [1][2]

h = fspecial3('log',hsize,sigma) はガウスのラプラシアン フィルターを返します。サイズは hsize、標準偏差は sigma です。

h = fspecial3('prewitt',direction) は 3 x 3 x 3 のフィルターを返します。これは指定された方向の勾配を強調します。

h = fspecial3('sobel',direction) は 3 x 3 x 3 のフィルターを返します。これは指定された方向の勾配を強調し、他の方向を平滑化します [3]

すべて折りたたむ

3 次元グレースケール MRI ボリュームを読み込みます。ボリュームの平面を表示します。

load mristack;
montage(mristack,'BackgroundColor','w')

Figure contains an axes object. The axes object contains an object of type image.

3 次元楕円体フィルターを作成します。y (行) と x (列) 方向の半軸の長さを 7 ピクセルに、z (面) 方向の半軸の長さを 3 ピクセルに指定します。

H = fspecial3('ellipsoid',[7 7 3]);

フィルターによりボリュームを平滑化します。

volSmooth = imfilter(mristack,H,'replicate');

平滑化したボリュームの平面を表示します。

montage(volSmooth,'BackgroundColor','w')

Figure contains an axes object. The axes object contains an object of type image.

MRI ボリュームを読み込みます。このボリュームは、大きさが 1 の次元を持つ 4 次元配列として格納されます。関数 squeeze を使用して大きさが 1 の次元を削除することにより、3 次元グレースケール ボリュームを作成します。

load mri;
V = squeeze(D);

ボリュームの平面を表示します。

montage(D,'BackgroundColor','w')

Figure contains an axes object. The axes object contains an object of type image.

ボリューム内の水平エッジを検出する 3 次元ソーベル フィルターを作成します。水平エッジは y 方向に大きな勾配がある場所に現れるので、ソーベル フィルターの方向を 'Y' として指定します。ソーベル フィルターは x 方向と z 方向の勾配を平滑化します。

H = fspecial3('sobel','Y');

3 次元ソーベル フィルターを使用してボリュームをフィルター処理します。

edgesHor = imfilter(V,H,'replicate');

フィルター済みボリュームの平面を表示します。

montage(edgesHor)

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

フィルターのタイプ。次のいずれかの値に指定します。

説明

'average'

平均化フィルター。これは推奨されません。代わりに imboxfilt3 を使用してください。

'ellipsoid'

楕円体平均化フィルター

'gaussian'

ガウス ローパス フィルター。これは推奨されません。代わりに imgaussfilt3 を使用してください。

'laplacian'

3 次元ラプラス演算子を近似する

'log'

ガウスのラプラシアン フィルター

'prewitt'

プレウィット エッジ強調フィルター

'sobel'

ソーベル エッジ強調フィルター

データ型: char | string

フィルターのサイズ。正の整数または正の整数の 3 要素ベクトルとして指定します。h の行、列、面の数を指定するにはベクトルを使用します。立方体の辺の長さを指定するにはスカラーを使用します。

'gaussian' および 'log' フィルター タイプの場合、hsize[] として指定すると、fspecial3 は既定のサイズ 2*ceil(2*sigma)+1 のフィルターを作成します。

データ型: double

楕円体フィルターの半軸の長さ。正の数値または正の数値の 3 要素ベクトルとして指定します。行、列、平面の 3 つの主半軸の長さを指定するにはベクトルを使用します。これらの値はそれぞれ、直交座標の y、x および z 方向の長さに対応します。球の半径を指定するにはスカラーを使用します。

データ型: double

ガウス フィルターの標準偏差。正の数値または正の数値の 3 要素ベクトルとして指定します。スカラーを指定した場合、fspecial3 は 3 次ガウス カーネルを作成します。

データ型: double

ラプラス演算子の形状。範囲が [0 1] のスカラーとして指定します。gamma1gamma2 の和は 1 を超えてはなりません。

データ型: double

プレウィットおよびソーベル フィルター処理の勾配の方向。'X''Y' または 'Z' として指定します。

データ型: char | string

出力引数

すべて折りたたむ

相関カーネル。数値配列として返されます。

データ型: double

参照

[1] Lindeberg, T., Scale-Space Theory in Computer Vision. Boston, MA: Kluwer Academic Publishers, 1994.

[2] Geometry-Driven Diffusion in Computer Vision. Edited by B. M. ter Haar Romeny. Boston, MA: Kluwer Academic Publishers, 1994.

[3] Engel, K., M. Hadwiger, J. M. Kniss, C. Rezk-Salama, and D. Weiskopf. Real-Time Volume Graphics. Wellesley, MA: A K Peters, Ltd., 2006, pp. 112–114.

拡張機能

バージョン履歴

R2018b で導入