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/flann/flann.hpp"
#include "opencv2/opencv_modules.hpp"
using namespace std;
using namespace cv;
@ -16,7 +17,13 @@ using std::tr1::get;
typedef TestBaseWithParam<String> stitch;
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;
@ -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;
@ -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 img2, img2_full = imread( getDataPath("stitching/b2.jpg") );

@ -61,14 +61,22 @@ Stitcher Stitcher::createDefault(bool try_use_gpu)
#ifdef HAVE_OPENCV_GPU
if (try_use_gpu && gpu::getCudaEnabledDeviceCount() > 0)
{
#if HAVE_OPENCV_NONFREE
stitcher.setFeaturesFinder(new detail::SurfFeaturesFinderGpu());
#else
stitcher.setFeaturesFinder(new detail::OrbFeaturesFinder());
#endif
stitcher.setWarper(new SphericalWarperGpu());
stitcher.setSeamFinder(new detail::GraphCutSeamFinderGpu());
}
else
#endif
{
#if HAVE_OPENCV_NONFREE
stitcher.setFeaturesFinder(new detail::SurfFeaturesFinder());
#else
stitcher.setFeaturesFinder(new detail::OrbFeaturesFinder());
#endif
stitcher.setWarper(new SphericalWarper());
stitcher.setSeamFinder(new detail::GraphCutSeamFinder(detail::GraphCutSeamFinderBase::COST_COLOR));
}

@ -40,6 +40,9 @@
//M*/
#include "test_precomp.hpp"
#include "opencv2/opencv_modules.hpp"
#if HAVE_OPENCV_NONFREE
using namespace cv;
using namespace std;
@ -71,3 +74,5 @@ TEST(SurfFeaturesFinder, CanFindInROIs)
ASSERT_GT(br_rect_count, 0);
ASSERT_EQ(bad_count, 0);
}
#endif
Loading…
Cancel
Save