OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::Stitcher 类参考

高级图像拼接器。 更多…

#include <opencv2/stitching.hpp>

cv::Stitcher 的协作图

公共类型

枚举 模式 {
  全景图 (PANORAMA) = 0 ,
  扫描图 (SCANS) = 1
}
 
枚举 状态 {
  正常 (OK) = 0 ,
  错误:需要更多图像 (ERR_NEED_MORE_IMGS) = 1 ,
  错误:单应性估计失败 (ERR_HOMOGRAPHY_EST_FAIL) = 2 ,
  错误:相机参数调整失败 (ERR_CAMERA_PARAMS_ADJUST_FAIL) = 3
}
 

公共成员函数

Ptr< detail::Blenderblender ()
 
const Ptr< detail::Blenderblender () const
 
Ptr< detail::BundleAdjusterBasebundleAdjuster ()
 
const Ptr< detail::BundleAdjusterBasebundleAdjuster () const
 
std::vector< cv::detail::CameraParamscameras () const
 
std::vector< int > component () const
 返回全景图拼接中使用的输入图像的索引。
 
Status composePanorama (InputArrayOfArrays images, OutputArray pano)
 这些函数尝试在假设之前已估计图像变换的情况下,将给定的图像(或从其他函数调用内部存储的图像)组合到最终的全景图中。
 
Status composePanorama (OutputArray pano)
 
double compositingResol () const
 
Status estimateTransform (InputArrayOfArrays images, InputArrayOfArrays masks=noArray())
 这些函数尝试匹配给定的图像并估计每个相机的旋转。
 
Ptr< detail::Estimatorestimator ()
 
const Ptr< detail::Estimatorestimator () const
 
Ptr< detail::ExposureCompensatorexposureCompensator ()
 
const Ptr< detail::ExposureCompensatorexposureCompensator () const
 
Ptr< Feature2DfeaturesFinder ()
 
Ptr< Feature2DfeaturesFinder () const
 
Ptr< detail::FeaturesMatcherfeaturesMatcher ()
 
Ptr< detail::FeaturesMatcherfeaturesMatcher () const
 
InterpolationFlags interpolationFlags () const
 
const cv::UMatmatchingMask () const
 
double panoConfidenceThresh () const
 
double registrationResol () const
 
UMat resultMask () 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 setEstimator (Ptr< detail::Estimator > estimator)
 
void setExposureCompensator (Ptr< detail::ExposureCompensator > exposure_comp)
 
void setFeaturesFinder (Ptr< Feature2D > features_finder)
 
void setFeaturesMatcher (Ptr< detail::FeaturesMatcher > features_matcher)
 
void setInterpolationFlags (InterpolationFlags interp_flags)
 
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)
 
Status setTransform (InputArrayOfArrays images, const std::vector< detail::CameraParams > &cameras)
 
Status setTransform (InputArrayOfArrays images, const std::vector< detail::CameraParams > &cameras, const std::vector< int > &component)
 此函数恢复每个相机的相机旋转和相机内参,这些参数可以通过 Stitcher::cameras 调用获取。
 
void setWarper (Ptr< WarperCreator > creator)
 
void setWaveCorrection (bool flag)
 
void setWaveCorrectKind (detail::WaveCorrectKind kind)
 
Status stitch (InputArrayOfArrays images, InputArrayOfArrays masks, OutputArray pano)
 这些函数尝试拼接给定的图像。
 
Status stitch (InputArrayOfArrays images, OutputArray pano)
 
Ptr< WarperCreatorwarper ()
 
const Ptr< WarperCreatorwarper () const
 
bool waveCorrection () const
 
detail::WaveCorrectKind waveCorrectKind () const
 
double workScale () const
 

静态公共成员函数

static Ptr< Stitchercreate (Mode mode=Stitcher::PANORAMA)
 创建一个以其中一种拼接模式配置的 Stitcher
 

静态公共属性

static const double ORIG_RESOL
 

详细描述

高级图像拼接器。

无需了解整个拼接流程即可使用此类。但是,为了获得更高的拼接稳定性和最终图像质量,至少建议熟悉相关理论。

注意
  • 图像拼接的基本示例可在 opencv_source_code/samples/cpp/stitching.cpp 中找到。
  • Python 中的图像拼接基本示例可在 opencv_source_code/samples/python/stitching.py 中找到。
  • 图像拼接的详细示例可在 opencv_source_code/samples/cpp/stitching_detailed.cpp 中找到。

成员枚举文档

◆ Mode

枚举器
PANORAMA 

创建全景图的模式。预期图像在透视变换下,并将生成的全景图投影到球体上。

另请参阅
detail::BestOf2NearestMatcher SphericalWarper
SCANS 

组合扫描的模式。预期图像在仿射变换下,默认情况下不补偿曝光。

另请参阅
detail::AffineBestOf2NearestMatcher AffineWarper

◆ Status

枚举器
OK 
ERR_NEED_MORE_IMGS 
ERR_HOMOGRAPHY_EST_FAIL 
ERR_CAMERA_PARAMS_ADJUST_FAIL 

成员函数文档

◆ blender() [1/2]

Ptr< detail::Blender > cv::Stitcher::blender ( )
内联

◆ blender() [2/2]

const Ptr< detail::Blender > cv::Stitcher::blender ( ) const
内联

◆ bundleAdjuster() [1/2]

Ptr< detail::BundleAdjusterBase > cv::Stitcher::bundleAdjuster ( )
内联

◆ bundleAdjuster() [2/2]

const Ptr< detail::BundleAdjusterBase > cv::Stitcher::bundleAdjuster ( ) const
内联

◆ cameras()

std::vector< cv::detail::CameraParams > cv::Stitcher::cameras ( ) const
内联
Python
cv.Stitcher.cameras() -> retval

返回所有拼接图像的估计相机参数

◆ component()

std::vector< int > cv::Stitcher::component ( ) const
内联
Python
cv.Stitcher.component() -> retval

返回全景图拼接中使用的输入图像的索引。

◆ composePanorama() [1/2]

Status cv::Stitcher::composePanorama ( InputArrayOfArrays images,
OutputArray pano )
Python
cv.Stitcher.composePanorama([, pano]) -> retval, pano
cv.Stitcher.composePanorama(images[, pano]) -> retval, pano

这些函数尝试在假设之前已估计图像变换的情况下,将给定的图像(或从其他函数调用内部存储的图像)组合到最终的全景图中。

注意
只有在您了解拼接流程的情况下才使用这些函数,否则请使用 Stitcher::stitch
参数
images输入图像。
pano最终全景图。
返回
状态代码。

◆ composePanorama() [2/2]

Status cv::Stitcher::composePanorama ( OutputArray pano)
Python
cv.Stitcher.composePanorama([, pano]) -> retval, pano
cv.Stitcher.composePanorama(images[, pano]) -> retval, pano

这是一个重载成员函数,为了方便使用而提供。它与上面的函数唯一的区别在于它接受的参数不同。

◆ compositingResol()

double cv::Stitcher::compositingResol ( ) const
内联
Python
cv.Stitcher.compositingResol( )) -> retval

◆ create()

static Ptr< Stitcher > cv::Stitcher::create ( 模式 mode = Stitcher::PANORAMA)
静态
Python
cv.Stitcher.create([, mode]) -> retval
cv.Stitcher_create([, mode]) -> retval

创建一个以其中一种拼接模式配置的 Stitcher

参数
mode拼接操作的场景。这通常由要拼接的图像的来源及其变换确定。将在给定场景中为操作选择默认参数。
返回
Stitcher 类实例。

◆ estimateTransform()

Status cv::Stitcher::estimateTransform ( InputArrayOfArrays images,
InputArrayOfArrays masks = noArray() )
Python
cv.Stitcher.estimateTransform(images[, masks]) -> retval

这些函数尝试匹配给定的图像并估计每个相机的旋转。

注意
只有在您了解拼接流程的情况下才使用这些函数,否则请使用 Stitcher::stitch
参数
images输入图像。
masks每个输入图像的掩码,指定在哪里查找关键点(可选)。
返回
状态代码。
以下是此函数的调用图

◆ estimator() [1/2]

Ptr< detail::Estimator > cv::Stitcher::estimator ( )
内联

◆ estimator() [2/2]

const Ptr< detail::Estimator > cv::Stitcher::estimator ( ) const
内联

◆ exposureCompensator() [1/2]

Ptr< detail::ExposureCompensator > cv::Stitcher::exposureCompensator ( )
内联

◆ exposureCompensator() [2/2]

const Ptr< detail::ExposureCompensator > cv::Stitcher::exposureCompensator ( ) const
内联

◆ featuresFinder() [1/2]

Ptr< Feature2D > cv::Stitcher::featuresFinder ( )
内联

◆ featuresFinder() [2/2]

Ptr< Feature2D > cv::Stitcher::featuresFinder ( ) const
内联

◆ featuresMatcher() [1/2]

Ptr< detail::FeaturesMatcher > cv::Stitcher::featuresMatcher ( )
内联

◆ featuresMatcher() [2/2]

Ptr< detail::FeaturesMatcher > cv::Stitcher::featuresMatcher ( ) const
内联

◆ interpolationFlags()

InterpolationFlags cv::Stitcher::interpolationFlags ( ) const
内联
Python
cv.Stitcher.interpolationFlags( )) -> retval

◆ matchingMask()

const cv::UMat & cv::Stitcher::matchingMask ( ) const
内联

◆ panoConfidenceThresh()

double cv::Stitcher::panoConfidenceThresh ( ) const
内联
Python
cv.Stitcher.panoConfidenceThresh( )) -> retval

◆ registrationResol()

double cv::Stitcher::registrationResol ( ) const
内联
Python
cv.Stitcher.registrationResol( )) -> retval

◆ resultMask()

UMat cv::Stitcher::resultMask ( ) const
内联

返回全景图的掩码。

该掩码是一个 8U UMat,其值:输入图像填充的像素为 0xFF(白色),未使用的像素为 0(黑色)。它可用作 inpaint 的掩码。

返回
掩码。

◆ seamEstimationResol()

double cv::Stitcher::seamEstimationResol ( ) const
内联
Python
cv.Stitcher.seamEstimationResol( )) -> retval

◆ seamFinder() [1/2]

Ptr< detail::SeamFinder > cv::Stitcher::seamFinder ( )
内联

◆ seamFinder() [2/2]

const Ptr< detail::SeamFinder > cv::Stitcher::seamFinder ( ) const
内联

◆ setBlender()

void cv::Stitcher::setBlender ( Ptr< detail::Blender > b)
内联

◆ setBundleAdjuster()

void cv::Stitcher::setBundleAdjuster ( Ptr< detail::BundleAdjusterBase > bundle_adjuster)
内联

◆ setCompositingResol()

void cv::Stitcher::setCompositingResol ( double resol_mpx)
内联
Python
cv.Stitcher.setCompositingResol( )resol_mpx) ->

◆ setEstimator()

void cv::Stitcher::setEstimator ( Ptr< detail::Estimator > estimator)
内联

◆ setExposureCompensator()

void cv::Stitcher::setExposureCompensator ( Ptr< detail::ExposureCompensator > exposure_comp)
内联

◆ setFeaturesFinder()

void cv::Stitcher::setFeaturesFinder ( Ptr< Feature2D > features_finder)
内联

◆ setFeaturesMatcher()

void cv::Stitcher::setFeaturesMatcher ( Ptr< detail::FeaturesMatcher > features_matcher)
内联

◆ setInterpolationFlags()

void cv::Stitcher::setInterpolationFlags ( InterpolationFlags interp_flags)
内联
Python
cv.Stitcher.setInterpolationFlags( )interp_flags) ->

◆ setMatchingMask()

void cv::Stitcher::setMatchingMask ( const cv::UMat & mask)
内联

◆ setPanoConfidenceThresh()

void cv::Stitcher::setPanoConfidenceThresh ( double conf_thresh)
内联
Python
cv.Stitcher.setPanoConfidenceThresh( )conf_thresh) ->

◆ setRegistrationResol()

void cv::Stitcher::setRegistrationResol ( double resol_mpx)
内联
Python
cv.Stitcher.setRegistrationResol( )resol_mpx) ->

◆ setSeamEstimationResol()

void cv::Stitcher::setSeamEstimationResol ( double resol_mpx)
内联
Python
cv.Stitcher.setSeamEstimationResol( )resol_mpx) ->

◆ setSeamFinder()

void cv::Stitcher::setSeamFinder ( Ptr< detail::SeamFinder > seam_finder)
内联

◆ setTransform() [1/2]

Status cv::Stitcher::setTransform ( InputArrayOfArrays images,
const std::vector< detail::CameraParams > & cameras )

这是一个重载成员函数,为了方便使用而提供。它与上面的函数唯一的区别在于它接受的参数不同。

◆ setTransform() [2/2]

Status cv::Stitcher::setTransform ( InputArrayOfArrays images,
const std::vector< detail::CameraParams > & cameras,
const std::vector< int > & component )

此函数恢复每个相机的相机旋转和相机内参,这些参数可以通过 Stitcher::cameras 调用获取。

参数
images输入图像。
cameras每个输入图像的估计旋转。
组件构成最终全景图的图像索引(基于 0)。(可选)
返回
状态代码。

◆ setWarper()

void cv::Stitcher::setWarper ( Ptr< WarperCreator > creator)
内联

◆ setWaveCorrection()

void cv::Stitcher::setWaveCorrection ( bool flag)
内联
Python
cv.Stitcher.setWaveCorrection(flag) ->

◆ setWaveCorrectKind()

void cv::Stitcher::setWaveCorrectKind ( detail::WaveCorrectKind kind)
内联

◆ stitch() [1/2]

Status cv::Stitcher::stitch ( InputArrayOfArrays images,
InputArrayOfArrays masks,
OutputArray pano )
Python
cv.Stitcher.stitch(images[, pano]) -> retval, pano
cv.Stitcher.stitch(images, masks[, pano]) -> retval, pano

这些函数尝试拼接给定的图像。

参数
images输入图像。
masks每个输入图像的掩码,指定在哪里查找关键点(可选)。
pano最终全景图。
返回
状态代码。

◆ stitch() [2/2]

Status cv::Stitcher::stitch ( InputArrayOfArrays images,
OutputArray pano )
Python
cv.Stitcher.stitch(images[, pano]) -> retval, pano
cv.Stitcher.stitch(images, masks[, pano]) -> retval, pano

这是一个重载成员函数,为了方便使用而提供。它与上面的函数唯一的区别在于它接受的参数不同。

◆ warper() [1/2]

Ptr< WarperCreator > cv::Stitcher::warper ( )
内联

◆ warper() [2/2]

const Ptr< WarperCreator > cv::Stitcher::warper ( ) const
内联

◆ waveCorrection()

bool cv::Stitcher::waveCorrection ( ) const
内联
Python
cv.Stitcher.waveCorrection() -> retval

◆ waveCorrectKind()

detail::WaveCorrectKind cv::Stitcher::waveCorrectKind ( ) const
内联

◆ workScale()

double cv::Stitcher::workScale ( ) const
内联
Python
cv.Stitcher.workScale() -> retval

成员数据文档

◆ ORIG_RESOL

const double cv::Stitcher::ORIG_RESOL
静态

设置拼接分辨率时,此值用于保留原始分辨率。


此类的文档是从以下文件生成的: