提高直方图背投影的速度

时间:2011-05-18 06:33:48

标签: optimization image-processing opencv computer-vision histogram

我目前正在使用OpenCV内置的基于补丁的直方图反投影(cv::calcBackProjectPatch())来识别图像中目标材质的区域。图像分辨率为640 x 480,窗口大小为10 x 10,处理单个图像需要约1200 ms。虽然结果很好,但这对于实时应用来说太慢了(处理时间不应超过100毫秒)。

我已经尝试过缩小窗口大小并从CV_COMP_CORREL切换到CV_COMP_INTERSECT以加快处理速度,但是没有看到任何明显的加速。这可以通过OpenCV文档(强调我的)来解释:

  

然后测量每个新图像   转换为图像图像阵列   超过选定的投资回报率。直方图是   取自该区域中的该图像   由一个“补丁”覆盖,锚点位于   中心如下图所示。   使用直方图对直方图进行归一化   参数norm_factor以便它可以   与hist进行比较。计算出来的   直方图与模型进行比较   直方图; hist使用该功能   cvCompareHist()与比较   方法= method)。所结果的   输出放在该位置   对应于补丁锚点   概率图像dst。这个   补丁程序重复进程   滑过投资回报率。 迭代直方图   通过减去尾随像素进行更新   由补丁覆盖并添加新的   直方图覆盖的像素可以   尽管如此,节省了大量的操作   尚未实施。

这给我留下了几个问题:

  1. 是否有另一个支持迭代直方图更新的库?
  2. 使用迭代更新时,我期望加速的重要程度如何?
  3. 是否还有其他技术可以加速此类操作?

1 个答案:

答案 0 :(得分:2)

如OpenCV中所提到的,积分直方图肯定会提高速度。

请查看以下链接中的示例实现 http://smsoftdev-solutions.blogspot.com/2009/08/integral-histogram-for-fast-calculation.html