OpenCV 3.2支持CUDA的Python

8
1个回答

16

正如您在提供的链接中所看到的,您可以通过在python控制台上键入以下内容来检查是否正确安装了CUDA

print(cv2.getBuildInformation())

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

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

但是如该教程所述,目前Python中不支持CUDA。 (由于这些教程是关于OpenCV python的,您可能会困惑这是否会为python添加CUDA支持。 但它不会..

此外,在启用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++

有更好的方法来做这件事...


这可能会有所帮助:https://dev59.com/G1gQ5IYBdhLWcg3w3Hl-#52436378 - Neeraj Gulia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接