当我查看ORB的OpenCV代码时,我遇到了以下部分:
return hr_ker.args(ocl::KernelArg::ReadOnlyNoSize(imgbuf),
ocl::KernelArg::PtrReadOnly(layerinfo),
ocl::KernelArg::PtrReadOnly(keypoints),
ocl::KernelArg::PtrWriteOnly(responses),
nkeypoints).run(1, globalSize, 0, true);
这部分加载运行内核的内核参数(ORB_HarrisResponses)。 UMat imgbuf扩展为以下参数(在关于stakoverflow的问题上找到此声明)
uchar* data, int step, int offset,
内核:
ORB_HarrisResponses(__global const uchar* imgbuf, int imgstep, int imgoffset0,
__global const int* layerinfo, __global const int* keypoints,
__global float* responses, int nkeypoints, int blockSize, float scale_sq_sq, float HARRIS_K )
{}
我的问题是,如何在我的代码(主机代码)中访问这些值。我正在寻找类似的东西:
Umat test
test.data //Mat correspondant
test.step