TBB是否在Opencv-2.4.5中预先启用?

时间:2013-05-31 07:33:05

标签: c++ c opencv image-processing computer-vision

我在Opencv答案组中发布了一个关于TBB性能的问题。这是link

此链接中的答案如下所示。

  

可能你使用带有和不带TBB的2.4.5库进行比较,   但是,由于OpenCV 2.4.3多线程支持功能   已经包含在源代码中,不需要使用。来构建openCV   TBB支持了。它会在必要时自动完成   包含的dll包含在需要的源中。

但是我在Hog描述符中遇到了性能问题。那就是我在样本中使用了peopledetect.cpp,并在opencv2.4.5中使用TBB和没有TBB编译。我可以看到使用TBB编译的Opencv2.4.5执行2倍速度,而没有TBB的Opencv2.4.5执行速度非常慢。

有些人可以遵守以下几点,因为我找不到任何可以想象的来源。

1)从opencv2.4.3开始,我们不需要在TBB ON的情况下进行opencv重建吗?

1 个答案:

答案 0 :(得分:3)

预编译二进制文件是从2.4.3开始使用Visual Studio Concurrency框架编译的。但是,并非每个算法都使用“新”并行接口,您可以从并行接口切换到IPP到TBB。以前,它是硬编码使用TBB或什么都没有。 所以问题是并非每个算法都转换为新的并行方式,因此您可以在某些方面使用TBB获得加速。 (IIRC的一个例子是BruteForceMatcher,它只使用一个带有prebuild库的核心)