c++ - opencl 和 opencv 3.0 测试版

标签 c++ opencv opencl

为什么opencv 3.0 beta中没有openCL(ocl)?

我听说新的 opencv 透明地使用 opencl,但是当我在运行 intel core i5 (gpu HD400) 的 Windows 上测试它时,我看不到在 GPU 上运行的任何速度提升。

我是不是漏掉了什么?

最佳答案

OpenCV 的 Ocl 模块被有意移除。开发人员不再期望像调用那样使用 ocl::Canny。这些方法将由 OpenCV 内部调用。开发人员应使用 UMat 结构,如 presentation 中所述。 .当 OpenCL 可用时,UMat 包装clmem。否则它默认为 CPU。参见 ocl.cpp .

关于速度,我保证如下

  1. 在 build 目录的 cvconfig.h 中,检查 OpenCL 标志是 ON 还是 OFF
  2. 在代码中,ocl::setUseOpenCL(true)
  3. 在代码中,使用UMat代替Mat
  4. 然后在调用和不调用 ocl::setUseOpenCL(true) 的情况下检查 FPS

我期望看到的不是 FPS 的急剧增加。即使假设使用了 GPU,也可能存在数据必须在 CPU/GPU 内存之间来回复制的情况,这可能会影响最终性能。我希望看到处理卸载到 GPU 并减轻 CPU 的负担。不一定提高速度。

关于c++ - opencl 和 opencv 3.0 测试版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27410190/

相关文章:

c++ - 想要在 OSX 上的 OpenCV 中实时镜像视频,不知道从哪里开始

python - 查找无人驾驶车道,代码问题

c++ - OpenCL内核编译错误

c++ - 未找到 Windows7 pthread.h

c++ - FFmpeg:为什么录制的视频质量远低于在 OpenGL 中渲染的质量

c - 如何在 C NOT C++ 中将 Mat 转换为 IplImage

opencl - 处理多个 OpenCL 版本和平台

java - 如果安装了 Nvidia 或 AMD GPU 卡,则获取 bool

c++ - 从 QtCreator 运行 NetAnim 时出错

c++ - 编译器关于 this 指针和虚函数的详细信息