mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 03:30:34 +08:00
Merge pull request #10681 from hmaarrfk:python_stitching_scans
This commit is contained in:
commit
df22bafe6d
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user