[][src]Module opencv::stitching

Images stitching

This figure illustrates the stitching module pipeline implemented in the Stitcher class. Using that class it's possible to configure/remove some steps, i.e. adjust the stitching pipeline according to the particular needs. All building blocks from the pipeline are available in the detail namespace, one can combine and use them separately.

The implemented stitching pipeline is very similar to the one proposed in BL07 .

stitching pipeline

Camera models

There are currently 2 camera models implemented in stitching pipeline.

  • Homography model expecting perspective transformations between images implemented in @ref cv::detail::BestOf2NearestMatcher cv::detail::HomographyBasedEstimator cv::detail::BundleAdjusterReproj cv::detail::BundleAdjusterRay
  • Affine model expecting affine transformation with 6 DOF or 4 DOF implemented in @ref cv::detail::AffineBestOf2NearestMatcher cv::detail::AffineBasedEstimator cv::detail::BundleAdjusterAffine cv::detail::BundleAdjusterAffinePartial cv::AffineWarper

Homography model is useful for creating photo panoramas captured by camera, while affine-based model can be used to stitch scans and object captured by specialized devices. Use @ref cv::Stitcher::create to get preconfigured pipeline for one of those models.

Note: Certain detailed settings of @ref cv::Stitcher might not make sense. Especially you should not mix classes implementing affine model and classes implementing Homography model, as they work with different transformations.

Features Finding and Images Matching

Rotation Estimation

Autocalibration

Images Warping

Seam Estimation

Exposure Compensation

Image Blenders

Modules

prelude

Structs

AffineWarper

Affine warper factory class.

CompressedRectilinearPortraitWarper
CompressedRectilinearWarper
CylindricalWarper

Cylindrical warper factory class.

Detail_AffineBasedEstimator

Affine transformation based estimator.

Detail_AffineBestOf2NearestMatcher

Features matcher similar to cv::detail::BestOf2NearestMatcher which finds two best matches for each feature and leaves the best one only if the ratio between descriptor distances is greater than the threshold match_conf.

Detail_AffineWarper

Affine warper that uses rotations and translations

Detail_BestOf2NearestMatcher

Features matcher which finds two best matches for each feature and leaves the best one only if the ratio between descriptor distances is greater than the threshold match_conf

Detail_BestOf2NearestRangeMatcher
Detail_Blender

Base class for all blenders.

Detail_BlocksChannelsCompensator

Exposure compensator which tries to remove exposure related artifacts by adjusting image block on each channel.

Detail_BlocksGainCompensator

Exposure compensator which tries to remove exposure related artifacts by adjusting image block intensities, see UES01 for details.

Detail_BundleAdjusterAffine

Bundle adjuster that expects affine transformation represented in homogeneous coordinates in R for each camera param. Implements camera parameters refinement algorithm which minimizes sum of the reprojection error squares

Detail_BundleAdjusterAffinePartial

Bundle adjuster that expects affine transformation with 4 DOF represented in homogeneous coordinates in R for each camera param. Implements camera parameters refinement algorithm which minimizes sum of the reprojection error squares

Detail_BundleAdjusterRay

Implementation of the camera parameters refinement algorithm which minimizes sum of the distances between the rays passing through the camera center and a feature. :

Detail_BundleAdjusterReproj

Implementation of the camera parameters refinement algorithm which minimizes sum of the reprojection error squares

Detail_CameraParams

Describes camera parameters.

Detail_ChannelsCompensator

Exposure compensator which tries to remove exposure related artifacts by adjusting image intensities on each channel independently.

Detail_CompressedRectilinearPortraitProjector
Detail_CompressedRectilinearPortraitWarper
Detail_CompressedRectilinearProjector
Detail_CompressedRectilinearWarper
Detail_CylindricalPortraitProjector
Detail_CylindricalPortraitWarper
Detail_CylindricalProjector
Detail_CylindricalWarper

Warper that maps an image onto the x*x + z*z = 1 cylinder.

Detail_CylindricalWarperGpu
Detail_DisjointSets
Detail_DpSeamFinder
Detail_FeatherBlender

Simple blender which mixes images at its borders.

Detail_FisheyeProjector
Detail_FisheyeWarper
Detail_GainCompensator

Exposure compensator which tries to remove exposure related artifacts by adjusting image intensities, see BL07 and WJ10 for details.

Detail_Graph
Detail_GraphCutSeamFinder

Minimum graph cut-based seam estimator. See details in V03 .

Detail_GraphCutSeamFinderBase

Base class for all minimum graph-cut-based seam estimators.

Detail_GraphEdge
Detail_HomographyBasedEstimator

Homography based rotation estimator.

Detail_ImageFeatures

Structure containing image keypoints and descriptors.

Detail_MatchesInfo

Structure containing information about matches between two images.

Detail_MercatorProjector
Detail_MercatorWarper
Detail_MultiBandBlender

Blender which uses multi-band blending algorithm (see BA83).

Detail_NoBundleAdjuster

Stub bundle adjuster that does nothing.

Detail_NoExposureCompensator

Stub exposure compensator which does nothing.

Detail_NoSeamFinder

Stub seam estimator which does nothing.

Detail_PaniniPortraitProjector
Detail_PaniniPortraitWarper
Detail_PaniniProjector
Detail_PaniniWarper
Detail_PlanePortraitProjector
Detail_PlanePortraitWarper
Detail_PlaneProjector
Detail_PlaneWarper

Warper that maps an image onto the z = 1 plane.

Detail_PlaneWarperGpu
Detail_ProjectorBase

Base class for warping logic implementation.

Detail_SphericalPortraitProjector
Detail_SphericalPortraitWarper
Detail_SphericalProjector
Detail_SphericalWarper

Warper that maps an image onto the unit sphere located at the origin.

Detail_SphericalWarperGpu
Detail_StereographicProjector
Detail_StereographicWarper
Detail_TransverseMercatorProjector
Detail_TransverseMercatorWarper
Detail_VoronoiSeamFinder

Voronoi diagram-based seam estimator.

FisheyeWarper
MercatorWarper
PaniniPortraitWarper
PaniniWarper
PlaneWarper

Plane warper factory class.

PyRotationWarper
SphericalWarper

Spherical warper factory class

StereographicWarper
Stitcher

High level image stitcher.

TransverseMercatorWarper

Enums

Detail_DpSeamFinder_CostFunction
Detail_GraphCutSeamFinderBase_CostType
Detail_WaveCorrectKind
Stitcher_Mode
Stitcher_Status

Constants

Detail_Blender_FEATHER
Detail_Blender_MULTI_BAND
Detail_Blender_NO
Detail_ExposureCompensator_CHANNELS
Detail_ExposureCompensator_CHANNELS_BLOCKS
Detail_ExposureCompensator_GAIN
Detail_ExposureCompensator_GAIN_BLOCKS
Detail_ExposureCompensator_NO
Detail_SeamFinder_DP_SEAM
Detail_SeamFinder_NO
Detail_SeamFinder_VORONOI_SEAM
Detail_WAVE_CORRECT_HORIZ
Detail_WAVE_CORRECT_VERT

Traits

AffineWarperTrait

Affine warper factory class.

CompressedRectilinearPortraitWarperTrait
CompressedRectilinearWarperTrait
CylindricalWarperTrait

Cylindrical warper factory class.

Detail_AffineBasedEstimatorTrait

Affine transformation based estimator.

Detail_AffineBestOf2NearestMatcherTrait

Features matcher similar to cv::detail::BestOf2NearestMatcher which finds two best matches for each feature and leaves the best one only if the ratio between descriptor distances is greater than the threshold match_conf.

Detail_AffineWarperTrait

Affine warper that uses rotations and translations

Detail_BestOf2NearestMatcherTrait

Features matcher which finds two best matches for each feature and leaves the best one only if the ratio between descriptor distances is greater than the threshold match_conf

Detail_BestOf2NearestRangeMatcherTrait
Detail_BlenderTrait

Base class for all blenders.

Detail_BlocksChannelsCompensatorTrait

Exposure compensator which tries to remove exposure related artifacts by adjusting image block on each channel.

Detail_BlocksCompensator

Exposure compensator which tries to remove exposure related artifacts by adjusting image blocks.

Detail_BlocksGainCompensatorTrait

Exposure compensator which tries to remove exposure related artifacts by adjusting image block intensities, see UES01 for details.

Detail_BundleAdjusterAffinePartialTrait

Bundle adjuster that expects affine transformation with 4 DOF represented in homogeneous coordinates in R for each camera param. Implements camera parameters refinement algorithm which minimizes sum of the reprojection error squares

Detail_BundleAdjusterAffineTrait

Bundle adjuster that expects affine transformation represented in homogeneous coordinates in R for each camera param. Implements camera parameters refinement algorithm which minimizes sum of the reprojection error squares

Detail_BundleAdjusterBase

Base class for all camera parameters refinement methods.

Detail_BundleAdjusterRayTrait

Implementation of the camera parameters refinement algorithm which minimizes sum of the distances between the rays passing through the camera center and a feature. :

Detail_BundleAdjusterReprojTrait

Implementation of the camera parameters refinement algorithm which minimizes sum of the reprojection error squares

Detail_CameraParamsTrait

Describes camera parameters.

Detail_ChannelsCompensatorTrait

Exposure compensator which tries to remove exposure related artifacts by adjusting image intensities on each channel independently.

Detail_CompressedRectilinearPortraitProjectorTrait
Detail_CompressedRectilinearPortraitWarperTrait
Detail_CompressedRectilinearProjectorTrait
Detail_CompressedRectilinearWarperTrait
Detail_CylindricalPortraitProjectorTrait
Detail_CylindricalPortraitWarperTrait
Detail_CylindricalProjectorTrait
Detail_CylindricalWarperGpuTrait
Detail_CylindricalWarperTrait

Warper that maps an image onto the x*x + z*z = 1 cylinder.

Detail_DisjointSetsTrait
Detail_DpSeamFinderTrait
Detail_Estimator

Rotation estimator base class.

Detail_ExposureCompensator

Base class for all exposure compensators.

Detail_FeatherBlenderTrait

Simple blender which mixes images at its borders.

Detail_FeaturesMatcher

Feature matchers base class.

Detail_FisheyeProjectorTrait
Detail_FisheyeWarperTrait
Detail_GainCompensatorTrait

Exposure compensator which tries to remove exposure related artifacts by adjusting image intensities, see BL07 and WJ10 for details.

Detail_GraphCutSeamFinderBaseTrait

Base class for all minimum graph-cut-based seam estimators.

Detail_GraphCutSeamFinderTrait

Minimum graph cut-based seam estimator. See details in V03 .

Detail_GraphEdgeTrait
Detail_GraphTrait
Detail_HomographyBasedEstimatorTrait

Homography based rotation estimator.

Detail_ImageFeaturesTrait

Structure containing image keypoints and descriptors.

Detail_MatchesInfoTrait

Structure containing information about matches between two images.

Detail_MercatorProjectorTrait
Detail_MercatorWarperTrait
Detail_MultiBandBlenderTrait

Blender which uses multi-band blending algorithm (see BA83).

Detail_NoBundleAdjusterTrait

Stub bundle adjuster that does nothing.

Detail_NoExposureCompensatorTrait

Stub exposure compensator which does nothing.

Detail_NoSeamFinderTrait

Stub seam estimator which does nothing.

Detail_PairwiseSeamFinder

Base class for all pairwise seam estimators.

Detail_PaniniPortraitProjectorTrait
Detail_PaniniPortraitWarperTrait
Detail_PaniniProjectorTrait
Detail_PaniniWarperTrait
Detail_PlanePortraitProjectorTrait
Detail_PlanePortraitWarperTrait
Detail_PlaneProjectorTrait
Detail_PlaneWarperGpuTrait
Detail_PlaneWarperTrait

Warper that maps an image onto the z = 1 plane.

Detail_ProjectorBaseTrait

Base class for warping logic implementation.

Detail_RotationWarper

Rotation-only model image warper interface.

Detail_SeamFinder

Base class for a seam estimator.

Detail_SphericalPortraitProjectorTrait
Detail_SphericalPortraitWarperTrait
Detail_SphericalWarperGpuTrait
Detail_SphericalWarperTrait

Warper that maps an image onto the unit sphere located at the origin.

Detail_StereographicProjectorTrait
Detail_StereographicWarperTrait
Detail_TransverseMercatorProjectorTrait
Detail_TransverseMercatorWarperTrait
Detail_VoronoiSeamFinderTrait

Voronoi diagram-based seam estimator.

FisheyeWarperTrait
MercatorWarperTrait
PaniniPortraitWarperTrait
PaniniWarperTrait
PlaneWarperTrait

Plane warper factory class.

PyRotationWarperTrait
SphericalWarperTrait

Spherical warper factory class

StereographicWarperTrait
StitcherTrait

High level image stitcher.

TransverseMercatorWarperTrait
WarperCreator

Image warper factories base class.

Functions

compute_image_features

@brief

compute_image_features2

@brief

create_laplace_pyr
create_laplace_pyr_gpu
create_stitcherDeprecated

Deprecated: use Stitcher::create

create_stitcher_scansDeprecated

Deprecated: use Stitcher::create

create_weight_map
find_max_spanning_tree
leave_biggest_component
matches_graph_as_string

///////////////////////////////////////////////////////////////////////////

normalize_using_weight_map

///////////////////////////////////////////////////////////////////////////

overlap_roi

///////////////////////////////////////////////////////////////////////////

restore_image_from_laplace_pyr
restore_image_from_laplace_pyr_gpu
result_roi
result_roi_1
result_roi_intersection
result_tl
select_random_subset
stitching_log_level
wave_correct

Tries to make panorama more horizontal (or vertical).