OpenCV  3.2.0-dev
Open Source Computer Vision
cv::Stitcher Class Reference

High level image stitcher. More...

#include "stitching.hpp"

Public Types

enum  { ORIG_RESOL = -1 }
 
enum  Mode {
  PANORAMA = 0,
  SCANS = 1
}
 
enum  Status {
  OK = 0,
  ERR_NEED_MORE_IMGS = 1,
  ERR_HOMOGRAPHY_EST_FAIL = 2,
  ERR_CAMERA_PARAMS_ADJUST_FAIL = 3
}
 

Public Member Functions

Ptr< detail::Blenderblender ()
 
const Ptr< detail::Blenderblender () const
 
Ptr< detail::BundleAdjusterBasebundleAdjuster ()
 
const Ptr< detail::BundleAdjusterBasebundleAdjuster () const
 
std::vector< detail::CameraParamscameras () const
 
std::vector< int > component () const
 
Status composePanorama (OutputArray pano)
 
Status composePanorama (InputArrayOfArrays images, OutputArray pano)
 These functions try to compose the given images (or images stored internally from the other function calls) into the final pano under the assumption that the image transformations were estimated before. More...
 
double compositingResol () const
 
Status estimateTransform (InputArrayOfArrays images)
 
Status estimateTransform (InputArrayOfArrays images, const std::vector< std::vector< Rect > > &rois)
 These functions try to match the given images and to estimate rotations of each camera. More...
 
Ptr< detail::ExposureCompensatorexposureCompensator ()
 
const Ptr< detail::ExposureCompensatorexposureCompensator () const
 
Ptr< detail::FeaturesFinderfeaturesFinder ()
 
const Ptr< detail::FeaturesFinderfeaturesFinder () const
 
Ptr< detail::FeaturesMatcherfeaturesMatcher ()
 
const Ptr< detail::FeaturesMatcherfeaturesMatcher () const
 
const cv::UMatmatchingMask () const
 
double panoConfidenceThresh () const
 
double registrationResol () const
 
double seamEstimationResol () const
 
Ptr< detail::SeamFinderseamFinder ()
 
const Ptr< detail::SeamFinderseamFinder () const
 
void setBlender (Ptr< detail::Blender > b)
 
void setBundleAdjuster (Ptr< detail::BundleAdjusterBase > bundle_adjuster)
 
void setCompositingResol (double resol_mpx)
 
void setExposureCompensator (Ptr< detail::ExposureCompensator > exposure_comp)
 
void setFeaturesFinder (Ptr< detail::FeaturesFinder > features_finder)
 
void setFeaturesMatcher (Ptr< detail::FeaturesMatcher > features_matcher)
 
void setMatchingMask (const cv::UMat &mask)
 
void setPanoConfidenceThresh (double conf_thresh)
 
void setRegistrationResol (double resol_mpx)
 
void setSeamEstimationResol (double resol_mpx)
 
void setSeamFinder (Ptr< detail::SeamFinder > seam_finder)
 
void setWarper (Ptr< WarperCreator > creator)
 
void setWaveCorrection (bool flag)
 
void setWaveCorrectKind (detail::WaveCorrectKind kind)
 
Status stitch (InputArrayOfArrays images, OutputArray pano)
 
Status stitch (InputArrayOfArrays images, const std::vector< std::vector< Rect > > &rois, OutputArray pano)
 These functions try to stitch the given images. More...
 
Ptr< WarperCreatorwarper ()
 
const Ptr< WarperCreatorwarper () const
 
bool waveCorrection () const
 
detail::WaveCorrectKind waveCorrectKind () const
 
double workScale () const
 

Static Public Member Functions

static Ptr< Stitchercreate (Mode mode=PANORAMA, bool try_use_gpu=false)
 Creates a Stitcher configured in one of the stitching modes. More...
 
static Stitcher createDefault (bool try_use_gpu=false)
 Creates a stitcher with the default parameters. More...
 

Detailed Description

High level image stitcher.

It's possible to use this class without being aware of the entire stitching pipeline. However, to be able to achieve higher stitching stability and quality of the final images at least being familiar with the theory is recommended.

Note
  • A basic example on image stitching can be found at opencv_source_code/samples/cpp/stitching.cpp
    • A detailed example on image stitching can be found at opencv_source_code/samples/cpp/stitching_detailed.cpp

Member Enumeration Documentation

anonymous enum
Enumerator
ORIG_RESOL 
Enumerator
PANORAMA 

Mode for creating photo panoramas.

Expects images under perspective transformation and projects resulting pano to sphere.

See also
detail::BestOf2NearestMatcher SphericalWarper
SCANS 

Mode for composing scans.

Expects images under affine transformation does not compensate exposure by default.

See also
detail::AffineBestOf2NearestMatcher AffineWarper
Enumerator
OK 
ERR_NEED_MORE_IMGS 
ERR_HOMOGRAPHY_EST_FAIL 
ERR_CAMERA_PARAMS_ADJUST_FAIL 

Member Function Documentation

Ptr<detail::Blender> cv::Stitcher::blender ( )
inline
const Ptr<detail::Blender> cv::Stitcher::blender ( ) const
inline
Ptr<detail::BundleAdjusterBase> cv::Stitcher::bundleAdjuster ( )
inline
const Ptr<detail::BundleAdjusterBase> cv::Stitcher::bundleAdjuster ( ) const
inline
std::vector<detail::CameraParams> cv::Stitcher::cameras ( ) const
inline
std::vector<int> cv::Stitcher::component ( ) const
inline
Status cv::Stitcher::composePanorama ( OutputArray  pano)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Status cv::Stitcher::composePanorama ( InputArrayOfArrays  images,
OutputArray  pano 
)

These functions try to compose the given images (or images stored internally from the other function calls) into the final pano under the assumption that the image transformations were estimated before.

Note
Use the functions only if you're aware of the stitching pipeline, otherwise use Stitcher::stitch.
Parameters
imagesInput images.
panoFinal pano.
Returns
Status code.
double cv::Stitcher::compositingResol ( ) const
inline
static Ptr<Stitcher> cv::Stitcher::create ( Mode  mode = PANORAMA,
bool  try_use_gpu = false 
)
static

Creates a Stitcher configured in one of the stitching modes.

Parameters
modeScenario for stitcher operation. This is usually determined by source of images to stitch and their transformation. Default parameters will be chosen for operation in given scenario.
try_use_gpuFlag indicating whether GPU should be used whenever it's possible.
Returns
Stitcher class instance.
static Stitcher cv::Stitcher::createDefault ( bool  try_use_gpu = false)
static

Creates a stitcher with the default parameters.

Parameters
try_use_gpuFlag indicating whether GPU should be used whenever it's possible.
Returns
Stitcher class instance.
Status cv::Stitcher::estimateTransform ( InputArrayOfArrays  images)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Status cv::Stitcher::estimateTransform ( InputArrayOfArrays  images,
const std::vector< std::vector< Rect > > &  rois 
)

These functions try to match the given images and to estimate rotations of each camera.

Note
Use the functions only if you're aware of the stitching pipeline, otherwise use Stitcher::stitch.
Parameters
imagesInput images.
roisRegion of interest rectangles.
Returns
Status code.
Ptr<detail::ExposureCompensator> cv::Stitcher::exposureCompensator ( )
inline
const Ptr<detail::ExposureCompensator> cv::Stitcher::exposureCompensator ( ) const
inline
Ptr<detail::FeaturesFinder> cv::Stitcher::featuresFinder ( )
inline
const Ptr<detail::FeaturesFinder> cv::Stitcher::featuresFinder ( ) const
inline
Ptr<detail::FeaturesMatcher> cv::Stitcher::featuresMatcher ( )
inline
const Ptr<detail::FeaturesMatcher> cv::Stitcher::featuresMatcher ( ) const
inline
const cv::UMat& cv::Stitcher::matchingMask ( ) const
inline
double cv::Stitcher::panoConfidenceThresh ( ) const
inline
double cv::Stitcher::registrationResol ( ) const
inline
double cv::Stitcher::seamEstimationResol ( ) const
inline
Ptr<detail::SeamFinder> cv::Stitcher::seamFinder ( )
inline
const Ptr<detail::SeamFinder> cv::Stitcher::seamFinder ( ) const
inline
void cv::Stitcher::setBlender ( Ptr< detail::Blender b)
inline

References CV_WRAP.

void cv::Stitcher::setBundleAdjuster ( Ptr< detail::BundleAdjusterBase bundle_adjuster)
inline
void cv::Stitcher::setCompositingResol ( double  resol_mpx)
inline
void cv::Stitcher::setExposureCompensator ( Ptr< detail::ExposureCompensator exposure_comp)
inline
void cv::Stitcher::setFeaturesFinder ( Ptr< detail::FeaturesFinder features_finder)
inline
void cv::Stitcher::setFeaturesMatcher ( Ptr< detail::FeaturesMatcher features_matcher)
inline
void cv::Stitcher::setMatchingMask ( const cv::UMat mask)
inline

References cv::UMat::clone(), cv::UMat::cols, CV_8U, CV_Assert, cv::UMat::rows, and cv::UMat::type().

Here is the call graph for this function:

void cv::Stitcher::setPanoConfidenceThresh ( double  conf_thresh)
inline
void cv::Stitcher::setRegistrationResol ( double  resol_mpx)
inline
void cv::Stitcher::setSeamEstimationResol ( double  resol_mpx)
inline
void cv::Stitcher::setSeamFinder ( Ptr< detail::SeamFinder seam_finder)
inline
void cv::Stitcher::setWarper ( Ptr< WarperCreator creator)
inline
void cv::Stitcher::setWaveCorrection ( bool  flag)
inline
void cv::Stitcher::setWaveCorrectKind ( detail::WaveCorrectKind  kind)
inline
Status cv::Stitcher::stitch ( InputArrayOfArrays  images,
OutputArray  pano 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Status cv::Stitcher::stitch ( InputArrayOfArrays  images,
const std::vector< std::vector< Rect > > &  rois,
OutputArray  pano 
)

These functions try to stitch the given images.

Parameters
imagesInput images.
roisRegion of interest rectangles.
panoFinal pano.
Returns
Status code.
Ptr<WarperCreator> cv::Stitcher::warper ( )
inline
const Ptr<WarperCreator> cv::Stitcher::warper ( ) const
inline
bool cv::Stitcher::waveCorrection ( ) const
inline
detail::WaveCorrectKind cv::Stitcher::waveCorrectKind ( ) const
inline
double cv::Stitcher::workScale ( ) const
inline

References cv::createStitcher(), and CV_EXPORTS_W.

Here is the call graph for this function:


The documentation for this class was generated from the following file: