如何使用SURF的OpenCL版本?

时间:2016-07-30 14:48:25

标签: c++ opencv opencl opencv3.0 feature-detection

我使用以下代码进行特征检测:

auto detector = cv::xfeatures2d::SURF::create();
std::vector<cv::KeyPoint> keypoints;

for (const cv::Mat& image : images) {
    detector->detect(image, keypoints);
    process(keypoints);
}

现在我尝试使用SURF的OpenCL版本。我修改了我的代码以使用cv::UMat。不幸的是,执行时间不会改变。 HAS_OPENCL已设置,cv::ocl::useOpenCL()为真。可能出现什么问题?

1 个答案:

答案 0 :(得分:0)

我知道我有点迟到,但是看surf.cpp,  SURF_Impl::detectAndCompute#ifdef HAVE_OPENCL开头,所以我认为如果您在启用OpenCL的情况下构建OpenCV,默认情况下会使用OpenCL