【问题标题】:OpenCV 3.2 CUDA support pythonOpenCV 3.2 CUDA 支持 python
【发布时间】:2017-09-05 01:02:51
【问题描述】:

我刚刚按照http://www.pyimagesearch.com/2016/07/11/compiling-opencv-with-cuda-support/ 中的说明安装了带有 CUDA 支持的 OpenCV 3.2 编译 我只是想知道如何检查我的OpenCV在运行时是否使用了CUDA和GPU支持(我使用python2.7)

【问题讨论】:

    标签: python-2.7 opencv


    【解决方案1】:

    正如您在link you gave 中看到的那样,您始终可以通过在python 控制台上输入以下内容来检查您是否已正确安装CUDA。

    print(cv2.getBuildInformation())
    

    如果您有 CUDA 支持,您将在打印文本中看到 Use CUDA: YES (version)。

    那么你就可以在cv2.cuda模块中使用opencv cuda命令了。

    但正如那个教程中所说的那样,CUDA 目前在 python 中不存在支持。 (由于这些教程在 OpenCV python 上,您会感到困惑,这是否会增加 CUDA 对 python 的支持。但它会不会..)

    此外,在支持 GPU 的 CUDA 环境中,我们可以对 OpenCV 进行许多编译时优化,使其能够利用 GPU 进行更快的计算(但主要用于 C++ 应用程序,对于Python,至少目前是这样)。

    但正如this answer 中所述,您可以在 python 上获得OpenCL 支持。如在this 文档中,

    开放计算语言 (OpenCL) 是一种用于编写跨异构平台(包括 CPU、GPU、DSP 等)运行的代码的开放标准。

    编辑 1:

    您可以做的另一件事是,您可以为OpenCV C++ 中的每个GPU 方法编写python 包装器,并通过python 调用这些方法。我不建议这样做,因为这将始终在GPU 内存和RAM 之间复制图像和其他数据,从而导致性能不佳。有时这会比单独使用CPU 花费更多时间。

    您可以做的另一件事是在C++ 中使用GPU 编写您需要执行的整个函数,并为该函数编写一个python 包装器。这比以前的方法要好得多,但你需要知道C++。

    还有更好的方法来做到这一点..

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多