【问题标题】:OpenCV Multi Core SupportOpenCV 多核支持
【发布时间】:2015-03-09 09:28:51
【问题描述】:

我想知道 OpenCV 库是否支持多核。我正在试验 Haar 级联,它在我的 Raspberry 2 上非常慢,它有四个内核,但我的应用程序目前只在一个内核上运行。

有什么想法吗?

【问题讨论】:

  • 感谢您的回答!

标签: opencv raspberry-pi multicore raspberry-pi2


【解决方案1】:

CascadedDetect 支持多核。

重新编译 OpenCV 并启用 WITH_TBBWITH_OPENMP(或 OpenCV 支持的任何其他线程框架)标志以启用它。

【讨论】:

    【解决方案2】:

    我简要了解了modules\objdetect\src\cascadedetect.cpp 中的CascadeClassifier 类,并且似乎使用内置的OpenCV 多线程工具parallel_for_ 完成了相当多的实现。

    不过,您的里程可能会有所不同。正如 OpenCV 支持论坛中的 this thread 所建议的那样,至少在训练阶段似乎有很多顺序代码。

    因此,如果您可以让 OpenCV 使用 OpenMP(可能是最容易设置的)、TBB 或类似工具进行编译,那么您应该很高兴。

    希望有帮助!

    【讨论】:

      【解决方案3】:

      最近我发现了一个Simd Library,它有一个implementation 的HAAR 和LBP 级联分类器。它可以使用来自 OpenCV 的标准 HAAR 和 LBP 级联。此实现通过使用 SSE4.1、AVX2 和 NEON(ARM) 进行了 SIMD 优化。

      我没有检查过 Raspberry 2,但我检查过 Raspberry 3(它的运行速度比原始 OpenCV 实现快约 2 倍)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-30
        • 1970-01-01
        • 2017-09-05
        • 2011-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多