OpenCV实战(10)——积分图像详解
0. 前言
我们知道直方图是通过遍历图像的所有像素并累积每个强度值在该图像中出现的频率来计算的。有时,我们只对计算图像某些区域的直方图感兴趣,在许多计算机视觉算法中,累积图像子区域内的像素之和是一项常见任务。现在,假设必须在图像内的多个感兴趣区域上计算直方图,此时计算代价将变得非常高昂,在这种情况下,我们可以使用积分图像 (integral image
) 极大地提高对图像子区域的像素计数效率。积分图像作为在图像 (Region of Interest
, ROI
) 中求和像素的有效方法,已经广泛用于多尺度滑动窗口计算等应用中。
1. 积分图像计算
本节,我们将解释积分图像的基本原理,展示如何仅使用三个算术运算在矩形区域上对像素求和,并通过两个示例介绍如何使用积分图像。
(1) 当我们需要对多个图像区域的像素求和时,积分图像很有用。通常,我们使用以下代码获得 ROI
上所有像素的总和:
cv