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

integralBoxFilter3

3 次元積分イメージの 3 次元ボックス フィルター処理

説明

B = integralBoxFilter3(A) は、3 x 3 x 3 ボックス フィルターを使用して積分イメージ A をフィルター処理します。

B = integralBoxFilter3(A,filterSize) は、filterSize で指定されたサイズの 3 次元ボックス フィルターを使用して積分イメージ A をフィルター処理します。

B = integralBoxFilter3(___,Name,Value) は、フィルター処理のさまざまな特性を制御する名前と値のペアを使用します。

すべて折りたたむ

3 次元 MRI データを読み込みます。

volData = load('mri');
vol = squeeze(volData.D);

フィルター近傍の半径でイメージ ボリュームをパディングします。

filterSize = [5 5 3];
padSize = (filterSize-1)/2;
volPad = padarray(vol, padSize, 'replicate', 'both');

パディングされた入力の 3 次元インテグラル イメージを計算します。

intVol = integralImage3(volPad);

[5 5 3] のフィルターを使用して 3 次元インテグラル イメージをフィルター処理します。

volFilt = integralBoxFilter3(intVol, filterSize);

入力引数

すべて折りたたむ

フィルター処理する積分イメージ。3 次元数値配列として指定します。

integralBoxFilter3 では、入力の積分イメージ AintegralImage3 で計算した垂直の積分イメージであることが必要です。integralBoxFilter3 は回転した積分イメージをサポートしません。integralImage3 で返された積分イメージの最初の行、列および平面はパディングされていると仮定します。

データ型: double

ボックス フィルターのサイズ。正の奇数の整数または正の奇数の整数の 3 要素ベクトルとして指定します。filterSize がスカラーの場合、integralBoxFilter3 は立方体ボックス フィルターを使用します。

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

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: B = integralBoxFilter3(A,5,'NormalizationFactor',1);

ボックス フィルターに適用される正規化係数。数値スカラーとして指定します。

既定の設定の 'NormalizationFactor' には平均値フィルターの効果があります。出力イメージのピクセルは、イメージの局所的な平均になります。局所領域の和を求めるには、'NormalizationFactor'1 に設定します。このような状況でオーバーフローを回避するために入力イメージを double クラスに変換して倍精度イメージを使用することを検討してください。

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

出力引数

すべて折りたたむ

フィルター処理されたイメージ。3 次元数値配列として返されます。integralBoxFilter3 はパディングなしでフィルター処理が計算された部分のみを返します。

データ型: double

R2015b で導入