未能加载OpenCL运行时 - OpenCV3 Python

0 投票
3 回答
4408 浏览
提问于 2025-04-20 10:39

我有一个程序,它使用 OpenCV 2.4.9 在 Windows 上进行视频处理,主要是通过前景检测。然后我用 py2exe 把它打包成 Windows 可执行文件。最近我把 OpenCV 更新到了 OpenCV 3,并重新打包了我的程序。当我在自己电脑上运行时(本地安装了 OpenCV 3),一切都很顺利。

但是,当其他用户下载这个程序并在他们的电脑上运行时,就会出现一个警告:

Failed to load OpenCL runtime

这个警告似乎只是个提示,我没有发现性能上的问题。

我有几个选择。我可以在一个 try 语句中压制这个特定的警告,或者我可以想办法在我的电脑上关闭 OpenCL,以便打包程序。对于这两种策略,任何建议都很受欢迎。我有没有忽略什么?根据我的理解,OpenCL 库是用来利用 GPU 加速的。

谢谢,

3 个回答

0

如果你不需要使用OpenCL,可以按照下面的方式设置环境变量:

export OPENCV_OPENCL_RUNTIME=999

有时候,如果你想开启OpenCL,可以这样做:

export OPENCV_OPENCL_RUNTIME=
0

我遇到过同样的问题,这里是我的解决办法:

  1. 去英特尔的官网下载OpenCL库,然后解压缩它。

  2. 运行一下install.sh这个文件。

如果安装失败,提示有update-alternatives的错误,可能是因为你在用Ubuntu或Debian系统,而英特尔的安装包和这个系统的设置不太匹配。

要解决这个问题,xfanzone做了很好的指导。你可以在这里查看。

  1. 下载补丁的压缩文件,然后给你的OpenCL包打补丁。

  2. 再安装一次,这次应该就能正常工作了。

2

解决办法是先编译OpenCV库,不要使用OpenCL,然后再把这些库链接到你的应用程序里。

撰写回答