文档

integralImage

计算积分像

语法

J = integralImage(I)
J = integralImage(I,orientation)

描述

例子

J= integralImage (计算积分图像J,由强度图可知,

例子

J= integralImage (取向用所指定的方向计算积分像取向

例子

全部折叠

创建一个简单的样本矩阵。

我=魔法(5)
我=5×517 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

在积分图像中,每个像素都是其上方和左侧像素的累积和。例如,在这个平凡矩阵中,原始矩阵中第1行第1列的像素(值17)在积分图像中是不变的,因为你在这个值上加了0。(integralImage函数在原始矩阵的上方和左侧添加一行0。)计算原始矩阵中像素(1,2)的积分图像值,将它上面的像素(0)和它左边的像素(17)相加:24 + 17 +0 = 41。计算原始矩阵中像素(1,3)的积分图像值,将它上面的像素(0)和它左边的像素相加,这已经被求和了,41。因此,积分图像中像素(2,4)处的值为1 + 41 + 0 = 42。这一过程对原始图像中的每个像素继续进行,正如您可以在原始矩阵的积分图像中看到的integralImage函数。

J = integralImage(I)
J =6×600 00 00 17 41 42 50 65 0 40 69 77 99 130 0 44 79 100 142 195 0 54 101 141 204 260 0 65 130 195 260 325

创建示例图像。

我=魔法(5)
我=5×517 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
定义旋转的矩形区域为[x, y,宽度,高度],其中x, y%表示矩形上角的索引。宽度和高度%是沿45度线从顶部角。[x, y, w, h] = deal(3,1,3,2);

创建整体形象。

J = integralImage(I,“旋转”);

用积分像计算区域上的和。

regionSum = J (y + w + h x + w-h + 1) + J (y、x + 1) - J (y + h, x h + 1) - J (y + w x + w + 1);

输入参数

全部折叠

输入灰度图像,指定为真实的,非稀疏的二维矩阵。

数据类型:||int8|int16|int32|uint8|uint16|uint32

图像方向,指定为“正直”“旋转”.如果你设置方向为“旋转”integralImage返回用于计算旋转45度的矩形的和的积分图像。为方便沿所有图像边界计算像素和,使用integralImage将输出的积分图像按如下方式填充:

积分图像 描述
竖直积分像 零垫在顶部和左侧,导致size(J) = size(I)+1
旋转积分像 在顶部、左侧和右侧填充零,导致size(J) = size(I)+[1 2]

如果输入图像有超过两个维度(ndims (I) > 2),例如对于RGB图像,则使用integralImage函数计算所有二维平面沿更高维度的积分图像。

数据类型:字符|字符串

输出参数

全部折叠

积分图像,返回一个实的,非稀疏的类矩阵.函数0填充积分图像的顶部和左侧,因此输出积分图像的大小等于输入图像的大小,加上1size(J) = size(I)+1.这样的大小便于沿着所有图像边界计算像素和。积分像,J,本质上是值的填充版本2) cumsum (cumsum(我)

更多关于

全部折叠

积分图像

在一个积分图像,每个像素都是它上面和左边像素的和。使用积分图像,您可以快速计算图像子区域的总和。维奥拉-琼斯算法普及了积分图像的使用。积分图像便于像素的总和,并且可以在常数时间内完成,而不受邻域大小的影响。

参考文献

[1] Viola, Paul和Michael J. Jones,“使用增强的简单特征级联快速目标检测”,2001年IEEE计算机学会计算机视觉和模式识别会议论文集,2001。卷:1,第511 - 518页。

另请参阅

|

主题

在R2015b中引入

这个话题有用吗?