Main Content

integralImage3

3 次元インテグラル イメージの計算

説明

J= integralImage3(I)はグレースケール ボリューム イメージIから積分イメージJを計算します。

すべて折りたたむ

3 次元の入力イメージを作成します。

I = reshape(1:125,5,5,5);

3 x 3 x 3 のサブボリュームを[startRow, startCol, startPlane, endRow, endCol, endPlane]として定義します。

[sR, sC, sP, eR, eC, eP] = deal(2, 2, 2, 4, 4, 4);

入力イメージからインテグラル イメージを作成し、I の 3 x 3 x 3 のサブボリュームの和を計算します。

J = integralImage3(I); regionSum = J(eR+1,eC+1,eP+1) - J(eR+1,eC+1,sP) - J(eR+1,sC,eP+1)...- J(sR,eC+1,eP+1) + J(sR,sC,eP+1) + J(sR,eC+1,sP)...+ J(eR+1,sC,sP) -J(sR,sC,sP)
regionSum = 1701

ピクセルの和が正しいことを確認します。

sum(sum(sum(I(sR:eR, sC:eC, sP:eP))))
ans = 1701

入力引数

すべて折りたたむ

グレースケール ボリューム。3 次元の数値配列として指定します。

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

出力引数

すべて折りたたむ

積分イメージ。数値配列として返されます。この関数は積分イメージの上側と左側および最初の平面に対してゼロ パディングする結果、尺寸(J) = (1) + 1となります。出力のクラスはdoubleです。出力の積分イメージの最終的なサイズは尺寸(J) = (1) + 1に等しくなります。こうしたサイズ設定により、すべてのイメージ境界でピクセル和の計算が容易になります。積分イメージJは、基本的にcumsum(cumsum(cumsum(I),2),3)の値をパディングしたものです。

データ型:double

詳細

すべて折りたたむ

積分イメージ

"積分イメージ"の各ピクセルは、上側および左側にあるピクセルの総和になります。積分イメージを使用すると、イメージの部分領域の総和を高速に計算できます。積分イメージの使用は Viola-Jones アルゴリズムによって一般に普及しました。積分イメージはピクセルの総和の計算を容易にし、近傍のサイズにかかわらず定数時間で実行できます。

バージョン履歴

R2015b で導入