OpenCV 3.2 CUDA支持python

Ngu*_*ong 7 opencv python-2.7

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

Ram*_*h-X 15

正如您在链接中看到的那样,您可以CUDA通过在python控制台上键入此链接来检查是否已正确安装.

print(cv2.getBuildInformation())
Run Code Online (Sandbox Code Playgroud)

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

然后你可以在模块中使用opencv cuda命令cv2.cuda.

但正如在教程中所说的CUDA支持目前在python中并不存在.(正如这些教程一样,OpenCV python你会对这是否会增加CUDA支持感到困惑python.但它不会......)

此外,在支持GPU的CUDA环境中,我们可以对OpenCV进行大量的编译时优化,允许它利用GPU进行更快的计算(但主要用于C++应用程序,而不是Python,在至少在目前).

但正如本回答所述,您可以获得OpenCL对python的支持.如文件所示,

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

编辑1:

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

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

有更好的方法可以做到这一点..