2015-03-31 121 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