class cv::detail::Estimator

Overview

Rotation estimator base class. Moreā€¦

#include <motion_estimators.hpp>

class Estimator
{
public:
    // methods

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

protected:
    // methods

    virtual
    bool
    estimate(
        const std::vector<ImageFeatures>& features,
        const std::vector<MatchesInfo>& pairwise_matches,
        std::vector<CameraParams>& cameras
        ) = 0;
};

// direct descendants

class AffineBasedEstimator;
class BundleAdjusterBase;
class HomographyBasedEstimator;

Detailed Documentation

Rotation estimator base class.

It takes features of all images, pairwise matches between all images and estimates rotations of all cameras.

The coordinate system origin is implementation-dependent, but you can always normalize the rotations in respect to the first camera, for instance. :

Methods

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

Estimates camera parameters.

Parameters:

features Features of images
pairwise_matches Pairwise matches of images
cameras Estimated camera parameters

Returns:

True in case of success, false otherwise

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.

Parameters:

features Features of images
pairwise_matches Pairwise matches of images
cameras Estimated camera parameters

Returns:

True in case of success, false otherwise