OpenCV3引入了其T-API(透明API),这使用户可以使用GPU(或其他启用OpenCL的设备)加速的功能,我正在努力寻找如何利用Python进行开发的方法。
使用C ++时,会有类似的调用ocl::setUseOpenCL(true);
在您使用UMat
而不是Mat
对象时启用OpenCL加速。但是我没有找到任何关于Python的文档。
是否有人提供示例代码,链接或指南,说明如何使用Python中的OpenCV3实现OpenCL加速?
更新:
经过进一步的挖掘后,我发现了modules/core/include/opencv2/core/ocl.hpp
:
CV_EXPORTS_W bool haveOpenCL();
CV_EXPORTS_W bool useOpenCL();
CV_EXPORTS_W bool haveAmdBlas();
CV_EXPORTS_W bool haveAmdFft();
CV_EXPORTS_W void setUseOpenCL(bool flag);
CV_EXPORTS_W void finish();
我设法从Python调用:
print(cv2.ocl.haveOpenCL())
cv2.ocl.setUseOpenCL(True)
print(cv2.ocl.useOpenCL())
并产生以下输出:
True
True
但是它仍然运行相同,我想我仍然没有使用OpenCL,因为我没有在Python中使用UMat。
对于那些看到此内容的人,OpenCL for OpenCV python版本已被实施
于2016年10月6日
有关更多信息,您可以看一下这个问题:已实现T-API python支持#6078
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句