Commit 11ce8683 authored by Andrey Kamaev's avatar Andrey Kamaev

Fixed stitching module tests built without nonfree

parent dda338a7
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "opencv2/highgui/highgui.hpp" #include "opencv2/highgui/highgui.hpp"
#include "opencv2/flann/flann.hpp" #include "opencv2/flann/flann.hpp"
#include "opencv2/opencv_modules.hpp"
using namespace std; using namespace std;
using namespace cv; using namespace cv;
...@@ -16,7 +17,13 @@ using std::tr1::get; ...@@ -16,7 +17,13 @@ using std::tr1::get;
typedef TestBaseWithParam<String> stitch; typedef TestBaseWithParam<String> stitch;
typedef TestBaseWithParam<String> match; typedef TestBaseWithParam<String> match;
PERF_TEST_P(stitch, a123, testing::Values("surf", "orb")) #if HAVE_OPENCV_NONFREE
#define TEST_DETECTORS testing::Values("surf", "orb")
#else
#define TEST_DETECTORS testing::Values<String>("orb")
#endif
PERF_TEST_P(stitch, a123, TEST_DETECTORS)
{ {
Mat pano; Mat pano;
...@@ -50,7 +57,7 @@ PERF_TEST_P(stitch, a123, testing::Values("surf", "orb")) ...@@ -50,7 +57,7 @@ PERF_TEST_P(stitch, a123, testing::Values("surf", "orb"))
} }
} }
PERF_TEST_P(stitch, b12, testing::Values("surf", "orb")) PERF_TEST_P(stitch, b12, TEST_DETECTORS)
{ {
Mat pano; Mat pano;
...@@ -83,7 +90,7 @@ PERF_TEST_P(stitch, b12, testing::Values("surf", "orb")) ...@@ -83,7 +90,7 @@ PERF_TEST_P(stitch, b12, testing::Values("surf", "orb"))
} }
} }
PERF_TEST_P( match, bestOf2Nearest, testing::Values("surf", "orb")) PERF_TEST_P( match, bestOf2Nearest, TEST_DETECTORS)
{ {
Mat img1, img1_full = imread( getDataPath("stitching/b1.jpg") ); Mat img1, img1_full = imread( getDataPath("stitching/b1.jpg") );
Mat img2, img2_full = imread( getDataPath("stitching/b2.jpg") ); Mat img2, img2_full = imread( getDataPath("stitching/b2.jpg") );
......
...@@ -61,14 +61,22 @@ Stitcher Stitcher::createDefault(bool try_use_gpu) ...@@ -61,14 +61,22 @@ Stitcher Stitcher::createDefault(bool try_use_gpu)
#ifdef HAVE_OPENCV_GPU #ifdef HAVE_OPENCV_GPU
if (try_use_gpu && gpu::getCudaEnabledDeviceCount() > 0) if (try_use_gpu && gpu::getCudaEnabledDeviceCount() > 0)
{ {
#if HAVE_OPENCV_NONFREE
stitcher.setFeaturesFinder(new detail::SurfFeaturesFinderGpu()); stitcher.setFeaturesFinder(new detail::SurfFeaturesFinderGpu());
#else
stitcher.setFeaturesFinder(new detail::OrbFeaturesFinder());
#endif
stitcher.setWarper(new SphericalWarperGpu()); stitcher.setWarper(new SphericalWarperGpu());
stitcher.setSeamFinder(new detail::GraphCutSeamFinderGpu()); stitcher.setSeamFinder(new detail::GraphCutSeamFinderGpu());
} }
else else
#endif #endif
{ {
#if HAVE_OPENCV_NONFREE
stitcher.setFeaturesFinder(new detail::SurfFeaturesFinder()); stitcher.setFeaturesFinder(new detail::SurfFeaturesFinder());
#else
stitcher.setFeaturesFinder(new detail::OrbFeaturesFinder());
#endif
stitcher.setWarper(new SphericalWarper()); stitcher.setWarper(new SphericalWarper());
stitcher.setSeamFinder(new detail::GraphCutSeamFinder(detail::GraphCutSeamFinderBase::COST_COLOR)); stitcher.setSeamFinder(new detail::GraphCutSeamFinder(detail::GraphCutSeamFinderBase::COST_COLOR));
} }
......
...@@ -40,6 +40,9 @@ ...@@ -40,6 +40,9 @@
//M*/ //M*/
#include "test_precomp.hpp" #include "test_precomp.hpp"
#include "opencv2/opencv_modules.hpp"
#if HAVE_OPENCV_NONFREE
using namespace cv; using namespace cv;
using namespace std; using namespace std;
...@@ -71,3 +74,5 @@ TEST(SurfFeaturesFinder, CanFindInROIs) ...@@ -71,3 +74,5 @@ TEST(SurfFeaturesFinder, CanFindInROIs)
ASSERT_GT(br_rect_count, 0); ASSERT_GT(br_rect_count, 0);
ASSERT_EQ(bad_count, 0); ASSERT_EQ(bad_count, 0);
} }
#endif
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment