我正在尝试使用 opencv 的 ocl 模块在 android/ARM 上运行图像处理应用程序。在某些情况下(android4.2.2/Qualcomm snapdragon msm8930/Adreno TM305),它运行良好。
但在其他情况下(android4.4.2/rockchip RK3288/mali-T764;android4.4/sumsung exynos5410/powerVR SGX 544mp),有问题。 CV::ocl::getOpenCLDevice()
显示没有 opencl 平台或设备。
我确定所有三个经过测试的系统都支持 opencl。谁能告诉我这里有什么问题?谢谢!
最佳答案
好吧,我已经解决了这个问题。问题是某些 android 设备在文件系统中没有 opencl lib 文件 libopencl.so,或者该文件具有不同的名称(例如,libgles_Mali.so)。要使用opencl,我们应该先设置环境。
具体来说,添加
setenv("OPENCV_OPENCL_BINARY", "libGLES_Mali.so", 0);
之前
cv::ocl::getOpenCLDevices()
关于android - Opencl 在 ARM 上找不到 gpu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29363994/