Loading...
Searching...
No Matches

Base class for all camera parameters refinement methods. More...

#include <opencv2/stitching/detail/motion_estimators.hpp>

Inheritance diagram for cv::detail::BundleAdjusterBase:
cv::detail::Estimator cv::detail::BundleAdjusterAffine cv::detail::BundleAdjusterAffinePartial cv::detail::BundleAdjusterRay cv::detail::BundleAdjusterReproj cv::detail::NoBundleAdjuster

Public Member Functions

double confThresh () const
 
Mat refinementMask () const
 
void setConfThresh (double conf_thresh)
 
void setRefinementMask (const Mat &mask)
 
void setTermCriteria (const TermCriteria &term_criteria)
 
TermCriteria termCriteria ()
 
- Public Member Functions inherited from cv::detail::Estimator
virtual ~Estimator ()
 
bool operator() (const std::vector< ImageFeatures > &features, const std::vector< MatchesInfo > &pairwise_matches, std::vector< CameraParams > &cameras)
 Estimates camera parameters.
 

Protected Member Functions

 BundleAdjusterBase (int num_params_per_cam, int num_errs_per_measurement)
 Construct a bundle adjuster base instance.
 
virtual void calcError (Mat &err)=0
 Calculates error vector.
 
virtual void calcJacobian (Mat &jac)=0
 Calculates the cost function jacobian.
 
virtual bool estimate (const std::vector< ImageFeatures > &features, const std::vector< MatchesInfo > &pairwise_matches, std::vector< CameraParams > &cameras) CV_OVERRIDE
 This method must implement camera parameters estimation logic in order to make the wrapper detail::Estimator::operator()_ work.
 
virtual void obtainRefinedCameraParams (std::vector< CameraParams > &cameras) const =0
 Gets the refined camera parameters.
 
virtual void setUpInitialCameraParams (const std::vector< CameraParams > &cameras)=0
 Sets initial camera parameter to refine.
 
virtual bool estimate (const std::vector< ImageFeatures > &features, const std::vector< MatchesInfo > &pairwise_matches, std::vector< CameraParams > &cameras)=0
 This method must implement camera parameters estimation logic in order to make the wrapper detail::Estimator::operator()_ work.
 

Protected Attributes

Mat cam_params_
 
double conf_thresh_
 
std::vector< std::pair< int, int > > edges_
 
const ImageFeaturesfeatures_
 
int num_errs_per_measurement_
 
int num_images_
 
int num_params_per_cam_
 
const MatchesInfopairwise_matches_
 
Mat refinement_mask_
 
TermCriteria term_criteria_
 
int total_num_matches_
 

Detailed Description

Base class for all camera parameters refinement methods.

Constructor & Destructor Documentation

◆ BundleAdjusterBase()

cv::detail::BundleAdjusterBase::BundleAdjusterBase ( int  num_params_per_cam,
int  num_errs_per_measurement 
)
inlineprotected

Construct a bundle adjuster base instance.

Parameters
num_params_per_camNumber of parameters per camera
num_errs_per_measurementNumber of error terms (components) per match

Member Function Documentation

◆ calcError()

virtual void cv::detail::BundleAdjusterBase::calcError ( Mat err)
protectedpure virtual

Calculates error vector.

Parameters
errError column-vector of length total_num_matches * num_errs_per_measurement

◆ calcJacobian()

virtual void cv::detail::BundleAdjusterBase::calcJacobian ( Mat jac)
protectedpure virtual

Calculates the cost function jacobian.

Parameters
jacJacobian matrix of dimensions (total_num_matches * num_errs_per_measurement) x (num_images * num_params_per_cam)

◆ confThresh()

double cv::detail::BundleAdjusterBase::confThresh ( ) const
inline

◆ estimate()

virtual bool cv::detail::BundleAdjusterBase::estimate ( const std::vector< ImageFeatures > &  features,
const std::vector< MatchesInfo > &  pairwise_matches,
std::vector< CameraParams > &  cameras 
)
protectedvirtual

This method must implement camera parameters estimation logic in order to make the wrapper detail::Estimator::operator()_ work.

Parameters
featuresFeatures of images
pairwise_matchesPairwise matches of images
camerasEstimated camera parameters
Returns
True in case of success, false otherwise

Implements cv::detail::Estimator.

◆ obtainRefinedCameraParams()

virtual void cv::detail::BundleAdjusterBase::obtainRefinedCameraParams ( std::vector< CameraParams > &  cameras) const
protectedpure virtual

Gets the refined camera parameters.

Parameters
camerasRefined camera parameters

◆ refinementMask()

Mat cv::detail::BundleAdjusterBase::refinementMask ( ) const
inline

◆ setConfThresh()

void cv::detail::BundleAdjusterBase::setConfThresh ( double  conf_thresh)
inline

◆ setRefinementMask()

void cv::detail::BundleAdjusterBase::setRefinementMask ( const Mat mask)
inline

◆ setTermCriteria()

void cv::detail::BundleAdjusterBase::setTermCriteria ( const TermCriteria term_criteria)
inline

◆ setUpInitialCameraParams()

virtual void cv::detail::BundleAdjusterBase::setUpInitialCameraParams ( const std::vector< CameraParams > &  cameras)
protectedpure virtual

Sets initial camera parameter to refine.

Parameters
camerasCamera parameters

◆ termCriteria()

TermCriteria cv::detail::BundleAdjusterBase::termCriteria ( )
inline

Member Data Documentation

◆ cam_params_

Mat cv::detail::BundleAdjusterBase::cam_params_
protected

◆ conf_thresh_

double cv::detail::BundleAdjusterBase::conf_thresh_
protected

◆ edges_

std::vector<std::pair<int,int> > cv::detail::BundleAdjusterBase::edges_
protected

◆ features_

const ImageFeatures* cv::detail::BundleAdjusterBase::features_
protected

◆ num_errs_per_measurement_

int cv::detail::BundleAdjusterBase::num_errs_per_measurement_
protected

◆ num_images_

int cv::detail::BundleAdjusterBase::num_images_
protected

◆ num_params_per_cam_

int cv::detail::BundleAdjusterBase::num_params_per_cam_
protected

◆ pairwise_matches_

const MatchesInfo* cv::detail::BundleAdjusterBase::pairwise_matches_
protected

◆ refinement_mask_

Mat cv::detail::BundleAdjusterBase::refinement_mask_
protected

◆ term_criteria_

TermCriteria cv::detail::BundleAdjusterBase::term_criteria_
protected

◆ total_num_matches_

int cv::detail::BundleAdjusterBase::total_num_matches_
protected

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