integralImage
计算二维积分图像
描述
在一个积分图像,每个像素代表的累积和相应的输入像素与像素上方和左侧的输入像素。
积分图像使您能够快速计算和图像亚区。次区域和可以在常数时间计算只有四个像素的线性组合的整体形象,不管次区域的大小。使用积分图像被Viola-Jones算法推广[1]。
例子
创建积分图像
创建一个简单的示例矩阵。
我=魔法(5)
我=5×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
计算样本矩阵的积分图像。这些步骤说明前几值原始矩阵映射到值的整体形象。注意,(行、列)的像素坐标(r,c在原始图像对应像素坐标(r+ 1,c+ 1)的整体形象。
第一个积分图像的行和列
0
年代。像素坐标原始矩阵的(1,1)价值17是不变的积分图像,因为没有其他像素的总和。因此,积分图像的像素坐标(2,2)17。
在原始矩阵像素坐标(1、2)映射到像素(2、3)整体形象。值是原像素值的总和(24),上面的像素(0)和像素的离开(17):24 + 17 + 0 = 41。
在原始矩阵像素坐标(1、3)映射到像素(2、4)整体形象。是原来的像素值的总和值(1),上面的像素(0)和像素的离开已经总结(41)。因此,在像素的值(2、4)积分图像1 + 41 + 0 = 42。
J = integralImage(我)
J =6×60 0 0 0 0 0 0 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
计算次区域和使用积分图像
读一个灰度图像到工作区中。显示图像。
我= imread (“pout.tif”);imshow(我)
计算积分的形象。
J = integralImage(我);
使用drawrectangle
选择一个矩形次区域的工具。该工具返回一个矩形
对象。
d = drawrectangle;
的顶点
财产的矩形
对象存储顶点的坐标作为一个4×2的矩阵的矩阵。顶点命令从左上角开始,继续沿顺时针方向。两个向量矩阵分割成包含行和列坐标。因为积分图像是在顶部和左侧,行和列坐标增加1获取相应的积分数组的元素。
r =地板(d.Vertices (:, 2)) + 1;c =地板(d.Vertices (: 1)) + 1;
像素的总和计算矩形次区域通过结合四个像素的整体形象。
regionSum = J (r (1), c (1)) - J (r (2), c (2)) + J (r (3), c (3)) - J (r (4), c (4))
regionSum = 613092
计算次区域积分与旋转方向
创建一个简单的示例矩阵。
我=魔法(5)
我=5×517 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
创建一个积分图像的旋转方向。
J = integralImage(我“旋转”)
J =6×70 0 0 0 0 0 0 0 17 24 1 8 15 0 17 64 47 40 38 39 15 39 64 74 91 104 105 76 74 105 149 188 183 130 76 105 170 232 272 236 195 130
定义一个矩形次区域旋转。本例中指定了一个亚区与球门上角坐标(1、3)原始图像。1的亚区有一个旋转的高度和宽度的2。
r = 1;c = 3;h = 1;w = 2;
得到像素值的四个角落次区域的整体形象。
regionBottom = J (r + w + h,碳氢键+ w + 1);regionTop = J (r、c + 1);regionLeft = J (r + h,碳氢键+ 1);regionRight = J (r + w, c + w + 1);regionCorners = [regionBottom regionTop regionLeft regionRight]
regionCorners =1×4105 0 24 39
计算像素的总和在次区域求和像素值的四个角落。
regionSum = regionBottom + regionTop - regionLeft regionRight
regionSum = 42
输入参数
我
- - - - - -图像
数字数组
形象,指定为一个数值数组的维度。如果输入图像二维多(ndims (I) > 2
),比如一个RGB图像integralImage
计算的积分图像二维飞机在更高的维度。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
取向
- - - - - -形象定位
“正直”
(默认)|“旋转”
图像定位,指定为“正直”
或“旋转”
。如果你设置方向“旋转”
,然后integralImage
返回计算金额的积分图像在矩形旋转45度。
数据类型:字符
|字符串
输出参数
算法
积分图像的总和
积分图像中的每个像素表示相应的输入像素值的总和所有输入像素上方和左侧的输入像素。因为integralImage
在产生的积分图像,一个像素(行、列)坐标(米
,n
在原始图像映射到像素坐标(米
+ 1,n
+ 1)的整体形象。
在图中,当前输入图像中像素的深绿色像素坐标(4、5)。所有输入上图中的像素和左边的输入像素颜色的亮绿色。绿色像素值的总和返回的积分图像像素坐标(5、6),在灰色的颜色。
integralImage
执行速度积分图像像素值求和的计算输入图像和整体形象。像素(米
,n
在整体形象J
只有四个像素的线性组合:一个从输入图像和三个以前计算积分图像的像素。
J (m, n) = (m, n - 1) + J (m - 1, n) + I (m - 1, n - 1) - J (m - 1, n - 1)
都包含在这个图中显示像素之和计算积分时图像的灰色像素。绿色像素增加和红色像素之和减去之和。
旋转图像积分求和
如果您指定图像取向
作为“旋转”
,然后在积分图像像素代表一个相应的输入像素值的总和,所有输入对角线以上输入像素的像素。integralImage
沿着对角线执行求和。这种方法计算量小于旋转图像和计算积分图像直线的方向。
在图中,当前输入图像中像素的深绿色像素坐标(4、5)。输入图像中的所有像素对角线上方输入像素颜色的亮绿色。绿色像素值的总和返回的积分图像像素坐标(5、6),在灰色的颜色。
integralImage
执行更快的旋转积分图像的像素值求和计算输入图像和图像积分。像素(米
,n
在整体形象J
是一个只有5个像素的线性组合:两个从输入图像和三个以前计算像素的整体形象:
J (m, n) = (m - 1, n - 1) + J (m - 1, n + 1) - J (m - 2 n) +我(m - 1, n - 1) + (m - 2 n - 1)
都包含在这个图中显示像素之和计算积分时图像的灰色像素。绿色像素增加和红色像素之和减去之和。
图像子区域求和
一个次区域直立定向左上的坐标(米
,n
),高度h
,和宽度w
原始图像的总和:
regionSum = J (m - 1, n - 1) + (h - m + n + w1) - J (h - m + n - 1) - (m - 1, n + w1)
例如,在下面输入图像,蓝色阴影区域的总和是:46 - 22 - 20 + 10 = 14。计算减去上述区域和阴影区域的左边。重叠的区域添加回补偿双减法。
一个次区域旋转方向使用不同高度和宽度的定义[2]。该地区的总和:
regionSum = J (m + h + w - h + w + 1) + J (m, n + 1) (m + h, h + 1) - J (m + w, n + w + 1)
引用
[1]中提琴,P。,and M. J. Jones. "Rapid Object Detection using a Boosted Cascade of Simple Features".2001年IEEE计算机学会学报计算机视觉与模式识别会议。2001年。1卷,第511 - 518页。
[2]Lienhart, R。和j . Maydt。“一组扩展的Haar-like特性快速目标检测”。学报2002年IEEE国际会议上图像处理。2002年9月。1卷,第900 - 903页。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
integralImage
金宝app支持C代码的生成(需要MATLAB®编码器™)。有关更多信息,请参见图像处理代码生成。
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2015bR2022b:金宝app支持线程的环境
integralImage
现在支持金宝app线程的环境。
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。