ドキュメンテーション

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

imboxfilt

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

構文

B = imboxfilt(A)
B = imboxfilt(A,filterSize)
B = imboxfilt(___,Name,Value)

説明

B = imboxfilt(A) は 2 次元の 3 x 3 ボックス フィルターを使用してイメージ A をフィルター処理します。ボックス フィルターは平均値フィルターとも呼ばれます。

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

B = imboxfilt(___,Name,Value) は、2 次元ボックス フィルター処理を使用してイメージ A をフィルター処理し、名前と値のペアでフィルター処理の特性を制御します。

コード生成 サポート: あり。

MATLAB Function ブロック サポート: あり。

すべて折りたたむ

イメージをワークスペースに読み取ります。

A = imread('cameraman.tif');

11 x 11 フィルターを使用して平均値フィルター処理を実行します。

localMean = imboxfilt(A,11);

元のイメージとフィルター処理されたイメージを並べて表示します。

imshowpair(A,localMean,'montage')

イメージをワークスペースに読み取ります。

A = imread('cameraman.tif');

イメージのデータ型を double に変更し、整数のオーバーフローを回避します。

A = double(A);

イメージのフィルター処理で 15 x 15 ボックス フィルターを使用して局所領域の和を計算します。平均値ではなく、局所領域の和を計算するには、NormalizationFactor パラメーターを 1 に設定します。

localSums = imboxfilt(A, 15, 'NormalizationFactor',1);

元のイメージとフィルター処理されたイメージを並べて表示します。

imshowpair(A,localSums,'montage')

入力引数

すべて折りたたむ

フィルター処理されるイメージ。任意の次元の実数の非スパース配列として指定します。

AInfs または NaNs が含まれている場合、imboxfilt の動作は定義されません。これは積分イメージ ベースのフィルター処理を使用する場合に発生する可能性があります。出力での InfsNaNs の伝播を制限するために、代わりに imfilter を使用することを検討してください。

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

ボックス フィルターのサイズ。正の奇数の整数のスカラーまたは 2 要素ベクトルとして指定します。filterSize がスカラーの場合、ボックス フィルターは正方形です。

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

名前/値のペアの引数

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

例: A = imread('cameraman.tif’); B = imboxfilt(A,5,’Padding’,’circular’);

すべて折りたたむ

パディング パターン。以下のいずれかの値または数値スカラーとして指定します。スカラー値を指定した場合、イメージの境界の外に位置する入力イメージのピクセルは、暗黙的にスカラー値をもつと仮定されます。

説明
'circular'イメージの境界の外に位置する入力イメージの値は、入力イメージが周期的であると暗黙的に仮定して計算されます。
'replicate'イメージの境界の外に位置する入力イメージの値は、最近傍のイメージ境界値と等しいと仮定します。
'symmetric'イメージの境界の外に位置する入力イメージの値を計算するには、配列の境界をまたぐ配列の鏡像を使用します。

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

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

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

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

出力引数

すべて折りたたむ

フィルター処理されたイメージ。入力イメージと同じサイズの実数の非スパース行列として返されます。

詳細

すべて折りたたむ

コード生成

この関数では MATLAB® Coder™ を使用した C コードの生成がサポートされています。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、この関数によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細は、「Image Processing Toolbox のコード生成について」を参照してください。

コードを生成する際、すべての文字ベクトルの入力引数はコンパイル時の定数でなければなりません。

MATLAB Function ブロック

この関数は Simulink の MATLAB Function ブロックで使用できます。

アルゴリズム

imboxfilt はたたみ込みに基づいたフィルター処理または積分イメージ フィルター処理を使用してフィルター処理を実行します。どちらのフィルター処理方法を使用するかは、内部の経験則を用いて決定されます。

R2015b で導入

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