このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
integralBoxFilter
積分イメージの 2 次元ボックス フィルター処理
説明
は、B
= integralBoxFilter(A
,filterSize
)filterSize
で指定されたサイズの 2 次元ボックス フィルターを使用して積分イメージ A
をフィルター処理します。
は、フィルター処理のさまざまな特性を制御する名前と値のペアを使用します。B
= integralBoxFilter(___,Name,Value
)
例
積分イメージのフィルター処理
イメージをワークスペースに読み取ります。
A = imread('cameraman.tif');
フィルター近傍の半径でイメージをパディングします。この例では 11 x 11 のフィルターを使用します。
filterSize = [11 11]; padSize = (filterSize-1)/2; Apad = padarray(A, padSize, 'replicate','both');
パディングされた入力イメージの積分イメージを計算します。
intA = integralImage(Apad);
積分イメージをフィルター処理します。
B = integralBoxFilter(intA, filterSize);
元のイメージとフィルター処理されたイメージを表示します。
figure
imshow(A)
title('Original Image')
figure
imshow(B,[])
title('Filtered Image')
水平方向と垂直方向の動きによるブレを使用したイメージのフィルター処理
イメージをワークスペースに読み取ります。
A = imread('cameraman.tif');
フィルター近傍の半径 ((11-1)/2
で計算) でイメージをパディングします。
padSize = [5 5]; Apad = padarray(A, padSize, 'replicate', 'both');
パディングされた入力の積分イメージを計算します。
intA = integralImage(Apad);
[11 1] の垂直フィルターを使用して積分イメージをフィルター処理します。
Bvert = integralBoxFilter(intA, [11 1]);
入力イメージのサイズを保持するために出力をトリミングして表示します。
Bvert = Bvert(:,6:end-5);
[1 11] の水平フィルターを使用して積分イメージをフィルター処理します。
Bhorz = integralBoxFilter(intA, [1 11]);
入力イメージのサイズを保持するために出力をトリミングします。
Bhorz = Bhorz(6:end-5,:);
元のイメージとフィルター処理されたイメージを表示します。
figure,
imshow(A)
title('Original Image')
figure,
imshow(Bvert,[])
title('Filtered with Vertical Filter')
figure,
imshow(Bhorz,[])
title('Filtered with Horizontal Filter')
入力引数
A
— フィルター処理する積分イメージ
数値配列
フィルター処理する積分イメージ。任意の次元の数値配列として指定します。
積分イメージは垂直でなければなりません。integralBoxFilter
は回転した積分イメージをサポートしません。integralImage
で返される積分イメージの最初の行と列はゼロ パディングされていると仮定します。
データ型: double
filterSize
— ボックス フィルターのサイズ
3
(既定値) | 正の奇数の整数 | 正の奇数の整数の 2 要素ベクトル
ボックス フィルターのサイズ。正の奇数の整数または正の奇数の整数の 2 要素ベクトルとして指定します。filterSize
がスカラーの場合、integralBoxFilter
は正方形ボックス フィルターを使用します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
名前と値の引数
例: B = integralBoxFilter(A,5,'NormalizationFactor',1);
オプションの引数 Name,Value
のコンマ区切りペアを指定します。Name
は引数名で、Value
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値のペアの引数を、任意の順番で指定できます。
NormalizationFactor
— ボックス フィルターに適用される正規化係数
スカラーの場合は 1/filterSize.^2
、ベクトルの場合は 1/prod(filterSize)
(既定値) | 数値スカラー
ボックス フィルターに適用される正規化係数。数値スカラーとして指定します。
既定の設定の 'NormalizationFactor'
には平均値フィルターの効果があります。出力イメージのピクセルは、イメージの局所的な平均になります。局所領域の和を求めるには、'NormalizationFactor'
を 1
に設定します。このような状況でオーバーフローを回避するために入力イメージを double
クラスに変換して倍精度イメージを使用することを検討してください。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
出力引数
B
— フィルター処理されたイメージ
数値配列
フィルター処理されたイメージ。数値配列として返されます。integralBoxFilter
はパディングなしでフィルター処理が計算された部分のみを返します。
データ型: double
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
integralBoxFilter
では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。'NormalizationFactor'
パラメーターはコンパイル時の定数でなければなりません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
'NormalizationFactor'
パラメーターはコンパイル時の定数でなければなりません。
バージョン履歴
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)