AnsweredAssumed Answered

how to use the ocl in opencv with imx6q?

Question asked by wang ziyou on May 4, 2016
Latest reply on Nov 7, 2016 by Andre Silva

i had compiled opencv 2.4.5 successfully,but it run failured as following:

root@myzr /opt/opencvtest$ ./hog pic1.png


        ESC - exit

        m - change mode GPU <-> CPU

        g - convert image to gray or not

        1/q - increase/decrease HOG scale

        2/w - increase/decrease levels count

        3/e - increase/decrease HOG group threshold

        4/r - increase/decrease hit threshold

Scale: 1.05

Group threshold: 8

Levels number: 13

Win width: 48

Win stride: (8, 8)

Hit threshold: 1.4

Gamma correction: 1

OpenCV Error: Gpu API call (CL_INVALID_DEVICE_TYPE) in getDevice, file /mnt/share/opencv-2.4.5/modules/ocl/src/initialization.cpp, line 312

error: /mnt/share/opencv-2.4.5/modules/ocl/src/initialization.cpp:312: error: (-217) CL_INVALID_DEVICE_TYPE in function getDevice

Segmentation fault


ocl/src/initialization.cpp lines 313 is:

309:               cl_uint numsdev;

310:               cl_int status = clGetDeviceIDs(platforms[i], devicetype, 0, NULL, &numsdev);

311:               if(status != CL_DEVICE_NOT_FOUND)

312:                   openCLVerifyCall(status);


it means that the initialization is failure,so i searched in internet,and find and  document <<Fast Image Processing with i.MX 6 Series>>( ) and a link (Freescale OpenEmbedded/Yocto Layers discussion list () ,but the new problem is:

(1)the pdf document  Implemented the face detector,Object detection,Image processing ,but where can i download the code?

(2) the link tell that :

"You are right, the OCL module in OpenCV is CUDA based, it doesn´t work for us. Using OpenCL in this case, you can base on OpenCL embedded profile tutorials you can find in the web also, I created a simple OCL SDK, that provides you a quick start for opencl application, unfortunately it is not available outside Freescale yet, there are some samples there (IP filtering) that you could use, I just need to check if I can share right now",

who can tell me: is it right that "the OCL module in OpenCV is CUDA based, it doesn´t work for imx6"?  the author created a simple OCL SDK ,but where is it,can i use it?


can you answer me as soon as possible? it is hurry!!