opencv support opencl may have bug on stitching
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 ?
i think correction like below better
have no idea about your second problem
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;
I'm not very sure my opinion, if there is a professional person to see this problem is good;