Class cv::detail::BundleAdjusterBase#

Base class for all camera parameters refinement methods.

Collaboration diagram for cv::detail::BundleAdjusterBase:

cv::detail::BundleAdjusterBase Node1 cv::detail::BundleAdjusterBase   + confThresh() + refinementMask() + setConfThresh() + setRefinementMask() + setTermCriteria() + termCriteria() # BundleAdjusterBase() # calcError() # calcJacobian() # estimate() # obtainRefinedCameraParams() # setUpInitialCameraParams() Node2 cv::detail::Estimator   + ~Estimator() + operator()() # estimate() Node2->Node1 Node3 cv::Mat   + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() and 152 more... + diag() + eye() + eye() + getDefaultAllocator() + getStdAllocator() + ones() + ones() + ones() + ones() + setDefaultAllocator() + zeros() + zeros() + zeros() + zeros() # forEach_impl() Node3->Node1 #cam_params_ #refinement_mask_ Node23 cv::detail::MatchesInfo   + MatchesInfo() + MatchesInfo() + getInliers() + getMatches() + operator=() Node3->Node23 +H Node4 int     Node4->Node1 #num_errs_per_measurement _ #num_images_ #num_params_per _cam_ #total_num_matches_ Node4->Node3 +cols +dims +dummy +flags +rows Node10 cv::detail::ImageFeatures   + getKeypoints() Node4->Node10 +img_idx Node14 cv::KeyPoint   + KeyPoint() + KeyPoint() + KeyPoint() + hash() + convert() + convert() + overlap() Node4->Node14 +class_id +octave Node20 cv::UMat   + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() and 67 more... + diag() + eye() + eye() + getStdAllocator() + ones() + ones() + ones() + ones() + zeros() + zeros() + zeros() + zeros() Node4->Node20 +cols +dims +flags +rows Node4->Node23 +dst_img_idx +num_inliers +src_img_idx Node25 cv::DMatch   + DMatch() + DMatch() + DMatch() + operator<() Node4->Node25 +imgIdx +queryIdx +trainIdx Node28 cv::TermCriteria   + TermCriteria() + TermCriteria() + TermCriteria() + isValid() Node4->Node28 +maxCount +type Node30 std::pair< int, int >     Node4->Node30 +first_type +second_type Node5 uint8_t     Node5->Node3 +data +dataend +datalimit +datastart Node26 std::vector< uchar >     Node5->Node26 +elements Node6 cv::MatAllocator   + MatAllocator() + ~MatAllocator() + allocate() + allocate() + copy() + deallocate() + download() + getBufferPoolController() + map() + unmap() + upload() Node6->Node3 +allocator Node6->Node20 +allocator Node7 UMatData *     Node7->Node3 +u Node7->Node20 +u Node8 MatSize     Node8->Node3 +size Node8->Node20 +size Node9 MatStep     Node9->Node3 +step Node9->Node20 +step Node10->Node1 #features_ Node11 cv::Size_< _Tp >   + Size_() + Size_() + Size_() + Size_() + Size_() + area() + aspectRatio() + empty() + operator Size_< _Tp2 >() + operator=() + operator=() Node11->Node10 +img_size Node12 _Tp     Node12->Node11 +height +width Node17 cv::Point_< _Tp >   + Point_() + Point_() + Point_() + Point_() + Point_() + Point_() + cross() + ddot() + dot() + inside() + operator Point_< _Tp2 >() + operator Vec< _Tp, 2 >() + operator=() + operator=() Node12->Node17 +x +y Node13 std::vector< cv::KeyPoint >     Node13->Node10 +keypoints Node14->Node13 +elements Node15 cv::Point_< float >   + Point_() + Point_() + Point_() + Point_() + Point_() + Point_() + cross() + ddot() + dot() + inside() + operator Point_< _Tp2 >() + operator Vec< float, 2 >() + operator=() + operator=() Node15->Node14 +pt Node16 float     Node16->Node14 +angle +response +size Node16->Node15 +x +y Node16->Node25 +distance Node17->Node15 < float > Node18 std::vector< T >     Node18->Node13 < cv::KeyPoint > Node24 std::vector< cv::DMatch >     Node18->Node24 < cv::DMatch > Node18->Node26 < uchar > Node29 std::vector< std::pair < int, int > >     Node18->Node29 < std::pair< int, int > > Node19 T     Node19->Node18 +elements Node20->Node10 +descriptors Node21 UMatUsageFlags     Node21->Node20 +usageFlags Node22 size_t     Node22->Node20 +offset Node23->Node1 #pairwise_matches_ Node24->Node23 +matches Node25->Node24 +elements Node26->Node23 +inliers_mask Node27 double     Node27->Node1 #conf_thresh_ Node27->Node23 +confidence Node27->Node28 +epsilon Node28->Node1 #term_criteria_ Node29->Node1 #edges_ Node30->Node29 +elements Node31 std::pair< T1, T2 >     Node31->Node30 < int, int > Node32 T1     Node32->Node31 +first_type Node33 T2     Node33->Node31 +second_type

cv::detail::BundleAdjusterBase Node1 cv::detail::BundleAdjusterBase   + confThresh() + refinementMask() + setConfThresh() + setRefinementMask() + setTermCriteria() + termCriteria() # BundleAdjusterBase() # calcError() # calcJacobian() # estimate() # obtainRefinedCameraParams() # setUpInitialCameraParams() Node2 cv::detail::Estimator   + ~Estimator() + operator()() # estimate() Node2->Node1 Node3 cv::Mat   + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() + Mat() and 152 more... + diag() + eye() + eye() + getDefaultAllocator() + getStdAllocator() + ones() + ones() + ones() + ones() + setDefaultAllocator() + zeros() + zeros() + zeros() + zeros() # forEach_impl() Node3->Node1 #cam_params_ #refinement_mask_ Node23 cv::detail::MatchesInfo   + MatchesInfo() + MatchesInfo() + getInliers() + getMatches() + operator=() Node3->Node23 +H Node4 int     Node4->Node1 #num_errs_per_measurement _ #num_images_ #num_params_per _cam_ #total_num_matches_ Node4->Node3 +cols +dims +dummy +flags +rows Node10 cv::detail::ImageFeatures   + getKeypoints() Node4->Node10 +img_idx Node14 cv::KeyPoint   + KeyPoint() + KeyPoint() + KeyPoint() + hash() + convert() + convert() + overlap() Node4->Node14 +class_id +octave Node20 cv::UMat   + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() + UMat() and 67 more... + diag() + eye() + eye() + getStdAllocator() + ones() + ones() + ones() + ones() + zeros() + zeros() + zeros() + zeros() Node4->Node20 +cols +dims +flags +rows Node4->Node23 +dst_img_idx +num_inliers +src_img_idx Node25 cv::DMatch   + DMatch() + DMatch() + DMatch() + operator<() Node4->Node25 +imgIdx +queryIdx +trainIdx Node28 cv::TermCriteria   + TermCriteria() + TermCriteria() + TermCriteria() + isValid() Node4->Node28 +maxCount +type Node30 std::pair< int, int >     Node4->Node30 +first_type +second_type Node5 uint8_t     Node5->Node3 +data +dataend +datalimit +datastart Node26 std::vector< uchar >     Node5->Node26 +elements Node6 cv::MatAllocator   + MatAllocator() + ~MatAllocator() + allocate() + allocate() + copy() + deallocate() + download() + getBufferPoolController() + map() + unmap() + upload() Node6->Node3 +allocator Node6->Node20 +allocator Node7 UMatData *     Node7->Node3 +u Node7->Node20 +u Node8 MatSize     Node8->Node3 +size Node8->Node20 +size Node9 MatStep     Node9->Node3 +step Node9->Node20 +step Node10->Node1 #features_ Node11 cv::Size_< _Tp >   + Size_() + Size_() + Size_() + Size_() + Size_() + area() + aspectRatio() + empty() + operator Size_< _Tp2 >() + operator=() + operator=() Node11->Node10 +img_size Node12 _Tp     Node12->Node11 +height +width Node17 cv::Point_< _Tp >   + Point_() + Point_() + Point_() + Point_() + Point_() + Point_() + cross() + ddot() + dot() + inside() + operator Point_< _Tp2 >() + operator Vec< _Tp, 2 >() + operator=() + operator=() Node12->Node17 +x +y Node13 std::vector< cv::KeyPoint >     Node13->Node10 +keypoints Node14->Node13 +elements Node15 cv::Point_< float >   + Point_() + Point_() + Point_() + Point_() + Point_() + Point_() + cross() + ddot() + dot() + inside() + operator Point_< _Tp2 >() + operator Vec< float, 2 >() + operator=() + operator=() Node15->Node14 +pt Node16 float     Node16->Node14 +angle +response +size Node16->Node15 +x +y Node16->Node25 +distance Node17->Node15 < float > Node18 std::vector< T >     Node18->Node13 < cv::KeyPoint > Node24 std::vector< cv::DMatch >     Node18->Node24 < cv::DMatch > Node18->Node26 < uchar > Node29 std::vector< std::pair < int, int > >     Node18->Node29 < std::pair< int, int > > Node19 T     Node19->Node18 +elements Node20->Node10 +descriptors Node21 UMatUsageFlags     Node21->Node20 +usageFlags Node22 size_t     Node22->Node20 +offset Node23->Node1 #pairwise_matches_ Node24->Node23 +matches Node25->Node24 +elements Node26->Node23 +inliers_mask Node27 double     Node27->Node1 #conf_thresh_ Node27->Node23 +confidence Node27->Node28 +epsilon Node28->Node1 #term_criteria_ Node29->Node1 #edges_ Node30->Node29 +elements Node31 std::pair< T1, T2 >     Node31->Node30 < int, int > Node32 T1     Node32->Node31 +first_type Node33 T2     Node33->Node31 +second_type

Public Member Functions#

Public Member Functions inherited from cv::detail::Estimator

Additional Inherited Members#

Protected Member Functions inherited from cv::detail::Estimator

Return

Name

Description

bool

estimate(
    const std::vector< ImageFeatures > & features,
    const std::vector< MatchesInfo > & pairwise_matches,
    std::vector< CameraParams > & cameras )

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

Detailed Description#

Base class for all camera parameters refinement methods.

Examples
samples/cpp/stitching_detailed.cpp.

Constructor & Destructor Documentation#

BundleAdjusterBase()#

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

Construct a bundle adjuster base instance.

Parameters

  • num_params_per_cam — Number of parameters per camera

  • num_errs_per_measurement — Number of error terms (components) per match

Member Function Documentation#

confThresh()#

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

Python:

cv.detail.BundleAdjusterBase.confThresh() -> retval

refinementMask()#

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

Python:

cv.detail.BundleAdjusterBase.refinementMask() -> retval

Here is the call graph for this function:

cv::detail::BundleAdjusterBase::refinementMask Node1 cv::detail::BundleAdjuster Base::refinementMask Node2 cv::Mat::clone Node1->Node2

cv::detail::BundleAdjusterBase::refinementMask Node1 cv::detail::BundleAdjuster Base::refinementMask Node2 cv::Mat::clone Node1->Node2

setConfThresh()#

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

Python:

cv.detail.BundleAdjusterBase.setConfThresh(conf_thresh)

setRefinementMask()#

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

Python:

cv.detail.BundleAdjusterBase.setRefinementMask(mask)

setTermCriteria()#

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

Python:

cv.detail.BundleAdjusterBase.setTermCriteria(term_criteria)

termCriteria()#

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

Python:

cv.detail.BundleAdjusterBase.termCriteria() -> retval

calcError()#

void cv::detail::BundleAdjusterBase::calcError(Mat & err)

Calculates error vector.

Parameters

  • err — Error column-vector of length total_num_matches * num_errs_per_measurement

calcJacobian()#

void cv::detail::BundleAdjusterBase::calcJacobian(Mat & jac)

Calculates the cost function jacobian.

Parameters

  • jac — Jacobian matrix of dimensions (total_num_matches * num_errs_per_measurement) x (num_images * num_params_per_cam)

estimate()#

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

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

Parameters

  • features — Features of images

  • pairwise_matches — Pairwise matches of images

  • cameras — Estimated camera parameters

Returns

True in case of success, false otherwise

obtainRefinedCameraParams()#

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

Gets the refined camera parameters.

Parameters

  • cameras — Refined camera parameters

setUpInitialCameraParams()#

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

Sets initial camera parameter to refine.

Parameters

  • cameras — Camera parameters

Member Data Documentation#

cam_params_#

Mat cv::detail::BundleAdjusterBase::cam_params_

conf_thresh_#

double cv::detail::BundleAdjusterBase::conf_thresh_

edges_#

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

features_#

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

num_errs_per_measurement_#

int cv::detail::BundleAdjusterBase::num_errs_per_measurement_

num_images_#

int cv::detail::BundleAdjusterBase::num_images_

num_params_per_cam_#

int cv::detail::BundleAdjusterBase::num_params_per_cam_

pairwise_matches_#

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

refinement_mask_#

Mat cv::detail::BundleAdjusterBase::refinement_mask_

term_criteria_#

TermCriteria cv::detail::BundleAdjusterBase::term_criteria_

total_num_matches_#

int cv::detail::BundleAdjusterBase::total_num_matches_

Source file#

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