From e29cfabdb32a5235d1c84c789947246a161fd04f Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Wed, 5 Nov 2014 10:46:06 +0100 Subject: [PATCH] Adjusted test cases for SURF_CUDA, using new APIs --- modules/xfeatures2d/perf/perf_surf.cuda.cpp | 5 ++-- modules/xfeatures2d/test/test_surf.cuda.cpp | 29 +++++---------------- 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/modules/xfeatures2d/perf/perf_surf.cuda.cpp b/modules/xfeatures2d/perf/perf_surf.cuda.cpp index 979028a6d..08615aa74 100644 --- a/modules/xfeatures2d/perf/perf_surf.cuda.cpp +++ b/modules/xfeatures2d/perf/perf_surf.cuda.cpp @@ -86,11 +86,12 @@ PERF_TEST_P(Image, CUDA_SURF, } else { - cv::xfeatures2d::SURF surf; + cv::Ptr surf = cv::xfeatures2d::SURF::create(); std::vector cpu_keypoints; cv::Mat cpu_descriptors; - TEST_CYCLE() surf(img, cv::noArray(), cpu_keypoints, cpu_descriptors); + TEST_CYCLE() surf->detect(img, cpu_keypoints); + TEST_CYCLE() surf->compute(img, cpu_keypoints, cpu_descriptors); SANITY_CHECK_KEYPOINTS(cpu_keypoints); SANITY_CHECK(cpu_descriptors); diff --git a/modules/xfeatures2d/test/test_surf.cuda.cpp b/modules/xfeatures2d/test/test_surf.cuda.cpp index 7f17e069b..f87f19d79 100644 --- a/modules/xfeatures2d/test/test_surf.cuda.cpp +++ b/modules/xfeatures2d/test/test_surf.cuda.cpp @@ -94,15 +94,10 @@ CUDA_TEST_P(SURF, Detector) std::vector keypoints; surf(loadMat(image), cv::cuda::GpuMat(), keypoints); - cv::xfeatures2d::SURF surf_gold; - surf_gold.hessianThreshold = hessianThreshold; - surf_gold.nOctaves = nOctaves; - surf_gold.nOctaveLayers = nOctaveLayers; - surf_gold.extended = extended; - surf_gold.upright = upright; + cv::Ptr surf_gold = cv::xfeatures2d::SURF::create(hessianThreshold, nOctaves, nOctaveLayers, extended, upright); std::vector keypoints_gold; - surf_gold(image, cv::noArray(), keypoints_gold); + surf_gold->detect(image, keypoints_gold); ASSERT_EQ(keypoints_gold.size(), keypoints.size()); int matchedCount = getMatchedPointsCount(keypoints_gold, keypoints); @@ -130,15 +125,10 @@ CUDA_TEST_P(SURF, Detector_Masked) std::vector keypoints; surf(loadMat(image), loadMat(mask), keypoints); - cv::xfeatures2d::SURF surf_gold; - surf_gold.hessianThreshold = hessianThreshold; - surf_gold.nOctaves = nOctaves; - surf_gold.nOctaveLayers = nOctaveLayers; - surf_gold.extended = extended; - surf_gold.upright = upright; + cv::Ptr surf_gold = cv::xfeatures2d::SURF::create(hessianThreshold, nOctaves, nOctaveLayers, extended, upright); std::vector keypoints_gold; - surf_gold(image, mask, keypoints_gold); + surf_gold->detect(image, keypoints_gold, mask); ASSERT_EQ(keypoints_gold.size(), keypoints.size()); int matchedCount = getMatchedPointsCount(keypoints_gold, keypoints); @@ -160,21 +150,16 @@ CUDA_TEST_P(SURF, Descriptor) surf.upright = upright; surf.keypointsRatio = 0.05f; - cv::xfeatures2d::SURF surf_gold; - surf_gold.hessianThreshold = hessianThreshold; - surf_gold.nOctaves = nOctaves; - surf_gold.nOctaveLayers = nOctaveLayers; - surf_gold.extended = extended; - surf_gold.upright = upright; + cv::Ptr surf_gold = cv::xfeatures2d::SURF::create(hessianThreshold, nOctaves, nOctaveLayers, extended, upright); std::vector keypoints; - surf_gold(image, cv::noArray(), keypoints); + surf_gold->detect(image, keypoints); cv::cuda::GpuMat descriptors; surf(loadMat(image), cv::cuda::GpuMat(), keypoints, descriptors, true); cv::Mat descriptors_gold; - surf_gold(image, cv::noArray(), keypoints, descriptors_gold, true); + surf_gold->compute(image, keypoints, descriptors_gold); cv::BFMatcher matcher(surf.defaultNorm()); std::vector matches;