Fixed stitching module tests built without nonfree

pull/13383/head
Andrey Kamaev 13 years ago
parent dda338a757
commit 11ce8683bb
  1. 13
      modules/stitching/perf/perf_stich.cpp
  2. 8
      modules/stitching/src/stitcher.cpp
  3. 5
      modules/stitching/test/test_matchers.cpp

@ -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;
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"))
} }
} }
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"))
} }
} }
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)
#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 @@
//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)
ASSERT_GT(br_rect_count, 0); ASSERT_GT(br_rect_count, 0);
ASSERT_EQ(bad_count, 0); ASSERT_EQ(bad_count, 0);
} }
#endif
Loading…
Cancel
Save