2015-03-31 83 views
3

我正在尝试使用opencv的ocl模块在android/ARM上运行图像处理应用程序。在某些情况下(android4.2.2/Qualcomm snapdragon msm8930/Adreno TM305),它运行良好。Opencl在ARM上找不到GPU

但在其他情况下(android4.4.2/rockchip RK3288/mali-T764; android4.4/sumsung exynos5410/powerVR SGX 544mp)有问题。 CV::ocl::getOpenCLDevice()显示没有opencl平台或设备。

我确定所有三个测试过的系统都支持opencl。谁能告诉我这里有什么问题?谢谢!

回答

2

嗯,我已经解决了这个问题。问题是一些android设备在文件系统中没有opencl lib文件libopencl.so,或者该文件具有不同的名称(例如,libgles_Mali.so)。要使用opencl,我们应该先设置环境。

具体而言,添加

SETENV( “OPENCV_OPENCL_BINARY”, “libGLES_Mali.so”,0);

之前

CV :: OCL :: getOpenCLDevices()

+0

使用OpenCL的帮助中的OpenCV的方法加速了什么?对于例如像'cv :: matchTemplate'这样的方法 – Kiran 2015-04-11 13:05:53