opencv support opencl may have bug on stitching

asked 2015-11-16 00:33:34 -0500

ereate gravatar image

I am developing a project with opencv3.0;

       I found a bug in the opencv/samples/cpp/stitching_detailed.cpp (line 818),yesterday;
                    else if (!timelapser)
                     {
                           CV_Assert(timelapse);            // i think is CV_Assert(!timelapse);
                          timelapser = Timelapser::createDefault(timelapse_type);
                          timelapser->initialize(corners, sizes);
                     }

     And i run stitching_detailed successfully;

       Today, i build source code with opencl for android ;  i want to use opencl to accelerate.  
       I build done and make sdk for android , i run stitching_detailed, but it is blocked  at  "   (*finder)(img, features[i]);  " ;
       so i follow code , and found  it related to UMat ;  so I think may be it is bug in opencv 3.0 for support opencl;

     everyone  can  help me ?
edit retag flag offensive close merge delete

Comments

i think correction like below better

else if (!timelapser && timelapse)
                     {
                          timelapser = Timelapser::createDefault(timelapse_type);
                          timelapser->initialize(corners, sizes);
                     }

have no idea about your second problem

sturkmen gravatar imagesturkmen ( 2015-11-16 06:04:50 -0500 )edit

thanks very much your answer !
About second question,i find that at this function bool Kernel::run() ( in modules/core/src/ocl.cpp), i make the following modifications: if( p->haveTempDstUMats ) sync = true; cl_int retval = clEnqueueNDRangeKernel(qq, p->handle, (cl_uint)dims, offset, globalsize, _localsize, 0, 0, sync ? 0 : &p->e); when i make sure " sync = true; " ( // if( p->haveTempDstUMats ) ),and my problem is solved; so i think it is opencl kernel do not sync execution order,lead to stitching blocked;

ereate gravatar imageereate ( 2015-11-16 20:58:57 -0500 )edit

I'm not very sure my opinion, if there is a professional person to see this problem is good;

ereate gravatar imageereate ( 2015-11-16 21:04:16 -0500 )edit