Merge pull request #10681 from hmaarrfk:python_stitching_scans

This commit is contained in:
Alexander Alekhin 2018-01-26 10:04:41 +00:00
commit df22bafe6d
2 changed files with 7 additions and 35 deletions

View File

@ -312,6 +312,7 @@ private:
}; };
CV_EXPORTS_W Ptr<Stitcher> createStitcher(bool try_use_gpu = false); CV_EXPORTS_W Ptr<Stitcher> createStitcher(bool try_use_gpu = false);
CV_EXPORTS_W Ptr<Stitcher> createStitcherScans(bool try_use_gpu = false);
//! @} stitching //! @} stitching

View File

@ -606,42 +606,13 @@ Ptr<Stitcher> createStitcher(bool try_use_gpu)
{ {
CV_INSTRUMENT_REGION() CV_INSTRUMENT_REGION()
Ptr<Stitcher> stitcher = makePtr<Stitcher>(); return Stitcher::create(Stitcher::PANORAMA, try_use_gpu);
stitcher->setRegistrationResol(0.6); }
stitcher->setSeamEstimationResol(0.1);
stitcher->setCompositingResol(Stitcher::ORIG_RESOL);
stitcher->setPanoConfidenceThresh(1);
stitcher->setWaveCorrection(true);
stitcher->setWaveCorrectKind(detail::WAVE_CORRECT_HORIZ);
stitcher->setFeaturesMatcher(makePtr<detail::BestOf2NearestMatcher>(try_use_gpu));
stitcher->setBundleAdjuster(makePtr<detail::BundleAdjusterRay>());
#ifdef HAVE_OPENCV_CUDALEGACY Ptr<Stitcher> createStitcherScans(bool try_use_gpu)
if (try_use_gpu && cuda::getCudaEnabledDeviceCount() > 0) {
{ CV_INSTRUMENT_REGION()
#ifdef HAVE_OPENCV_NONFREE
stitcher->setFeaturesFinder(makePtr<detail::SurfFeaturesFinderGpu>());
#else
stitcher->setFeaturesFinder(makePtr<detail::OrbFeaturesFinder>());
#endif
stitcher->setWarper(makePtr<SphericalWarperGpu>());
stitcher->setSeamFinder(makePtr<detail::GraphCutSeamFinderGpu>());
}
else
#endif
{
#ifdef HAVE_OPENCV_NONFREE
stitcher->setFeaturesFinder(makePtr<detail::SurfFeaturesFinder>());
#else
stitcher->setFeaturesFinder(makePtr<detail::OrbFeaturesFinder>());
#endif
stitcher->setWarper(makePtr<SphericalWarper>());
stitcher->setSeamFinder(makePtr<detail::GraphCutSeamFinder>(detail::GraphCutSeamFinderBase::COST_COLOR));
}
stitcher->setExposureCompensator(makePtr<detail::BlocksGainCompensator>()); return Stitcher::create(Stitcher::SCANS, try_use_gpu);
stitcher->setBlender(makePtr<detail::MultiBandBlender>(try_use_gpu));
return stitcher;
} }
} // namespace cv } // namespace cv