OpenCV 4.12.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 中找到

成員列舉文件

◆ 模式

列舉器
PANORAMA 

建立照片全景圖的模式。期望影像進行透視變換,並將結果全景圖投影到球體上。

另請參見
detail::BestOf2NearestMatcher SphericalWarper
SCANS 

用於合成掃描的模式。期望影像進行仿射變換,預設情況下不補償曝光。

另請參見
detail::AffineBestOf2NearestMatcher AffineWarper

◆ 狀態

列舉器
OK 
ERR_NEED_MORE_IMGS 
ERR_HOMOGRAPHY_EST_FAIL 
ERR_CAMERA_PARAMS_ADJUST_FAIL 

成員函式文件

◆ blender() [1/2]

Ptr< detail::Blender > cv::Stitcher::blender ( )
inline

◆ blender() [2/2]

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

◆ bundleAdjuster() [1/2]

Ptr< detail::BundleAdjusterBase > cv::Stitcher::bundleAdjuster ( )
inline

◆ bundleAdjuster() [2/2]

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

◆ cameras()

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

返回所有拼接影像的估計相機引數

◆ component()

std::vector< int > cv::Stitcher::component ( ) const
inline
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
inline
Python
cv.Stitcher.compositingResol() -> retval

◆ create()

static Ptr< Stitcher > cv::Stitcher::create ( 模式 mode = Stitcher::PANORAMA)
static
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輸入影像。
遮罩指定每個輸入影像中查詢關鍵點位置的掩碼(可選)。
返回
狀態碼。
此函式的呼叫圖如下

◆ estimator() [1/2]

Ptr< detail::Estimator > cv::Stitcher::estimator ( )
inline

◆ estimator() [2/2]

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

◆ exposureCompensator() [1/2]

Ptr< detail::ExposureCompensator > cv::Stitcher::exposureCompensator ( )
inline

◆ exposureCompensator() [2/2]

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

◆ featuresFinder() [1/2]

Ptr< Feature2D > cv::Stitcher::featuresFinder ( )
inline

◆ featuresFinder() [2/2]

Ptr< Feature2D > cv::Stitcher::featuresFinder ( ) const
inline

◆ featuresMatcher() [1/2]

Ptr< detail::FeaturesMatcher > cv::Stitcher::featuresMatcher ( )
inline

◆ featuresMatcher() [2/2]

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

◆ interpolationFlags()

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

◆ matchingMask()

const cv::UMat & cv::Stitcher::matchingMask ( ) const
inline

◆ panoConfidenceThresh()

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

◆ registrationResol()

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

◆ resultMask()

UMat cv::Stitcher::resultMask ( ) const
inline

返回全景圖的掩碼。

該掩碼是一個 8U UMat,其中:被輸入影像填充的畫素值為 0xFF(白色),未使用的畫素值為 0(黑色)。它可用作修復的掩碼。

返回
掩碼。

◆ seamEstimationResol()

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

◆ seamFinder() [1/2]

Ptr< detail::SeamFinder > cv::Stitcher::seamFinder ( )
inline

◆ seamFinder() [2/2]

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

◆ setBlender()

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

◆ setBundleAdjuster()

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

◆ setCompositingResol()

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

◆ setEstimator()

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

◆ setExposureCompensator()

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

◆ setFeaturesFinder()

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

◆ setFeaturesMatcher()

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

◆ setInterpolationFlags()

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

◆ setMatchingMask()

void cv::Stitcher::setMatchingMask ( const cv::UMat & mask)
inline

◆ setPanoConfidenceThresh()

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

◆ setRegistrationResol()

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

◆ setSeamEstimationResol()

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

◆ setSeamFinder()

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

◆ 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每個輸入影像的相機估計旋轉。
component構成最終全景圖的影像索引(從 0 開始計數,可選)。
返回
狀態碼。

◆ setWarper()

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

◆ setWaveCorrection()

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

◆ setWaveCorrectKind()

void cv::Stitcher::setWaveCorrectKind ( detail::WaveCorrectKind kind)
inline

◆ stitch() [1/2]

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

這些函式嘗試拼接給定影像。

引數
images輸入影像。
遮罩指定每個輸入影像中查詢關鍵點位置的掩碼(可選)。
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 ( )
inline

◆ warper() [2/2]

const Ptr< WarperCreator > cv::Stitcher::warper ( ) const
inline

◆ waveCorrection()

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

◆ waveCorrectKind()

detail::WaveCorrectKind cv::Stitcher::waveCorrectKind ( ) const
inline

◆ workScale()

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

成員資料文件

◆ ORIG_RESOL

const double cv::Stitcher::ORIG_RESOL
static

在設定拼接解析度時,此值是用於保留原始解析度的佔位符。


此類的文件生成自以下檔案