struct mrpt::vision::TMatchingOptions

A structure containing options for the matching.

#include <mrpt/vision/types.h>

struct TMatchingOptions: public mrpt::config::CLoadableOptions
{
    // enums

    enum TMatchingMethod;

    //
fields

    bool useEpipolarRestriction {true};
    bool hasFundamentalMatrix {false};
    bool parallelOpticalAxis {true};
    bool useXRestriction {true};
    bool addMatches {false};
    bool useDisparityLimits {false};
    bool enable_robust_1to1_match;
    float min_disp {1.0f};
    float max_disp {1e4f};
    mrpt::math::CMatrixDouble33 F;
    TMatchingMethod matching_method {mmCorrelation};
    float epipolar_TH {1.5f};
    float maxEDD_TH {90.0f};
    float EDD_RATIO {0.6f};
    float minCC_TH {0.95f};
    float minDCC_TH {0.025f};
    float rCC_TH {0.92f};
    float maxEDSD_TH {0.15f};
    float EDSD_RATIO {0.6f};
    double maxSAD_TH {0.4};
    double SAD_RATIO {0.5};
    double maxORB_dist;
    bool estimateDepth {false};
    double maxDepthThreshold {15.0};

    // construction

    TMatchingOptions();

    //
methods

    virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase& source, const std::string& section);
    virtual void dumpToTextStream(std::ostream& out) const;
    bool operator == (const TMatchingOptions& o) const;
    void operator = (const TMatchingOptions& o);
};

Inherited Members

public:
    //
methods

    virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase& source, const std::string& section) = 0;
    void loadFromConfigFileName(const std::string& config_file, const std::string& section);
    virtual void saveToConfigFile(mrpt::config::CConfigFileBase& target, const std::string& section) const;
    void saveToConfigFileName(const std::string& config_file, const std::string& section) const;
    void dumpToConsole() const;
    virtual void dumpToTextStream(std::ostream& out) const;

Fields

bool useEpipolarRestriction {true}

Whether or not take into account the epipolar restriction for finding correspondences.

bool hasFundamentalMatrix {false}

Whether or not there is a fundamental matrix.

bool parallelOpticalAxis {true}

Whether or not the stereo rig has the optical axes parallel.

bool useXRestriction {true}

Whether or not employ the x-coord restriction for finding correspondences (bumblebee camera, for example)

bool addMatches {false}

Whether or not to add the matches found into the input matched list (if false the input list will be cleared before being filled with the new matches)

bool useDisparityLimits {false}

Whether or not use limits (min,max) for the disparity, see also ‘min_disp, max_disp’.

bool enable_robust_1to1_match

Whether or not only permit matches that are consistent from left->right and right->left.

float min_disp {1.0f}

Disparity limits, see also ‘useDisparityLimits’.

TMatchingMethod matching_method {mmCorrelation}

Matching method.

float epipolar_TH {1.5f}

Epipolar constraint (rows of pixels)

float maxEDD_TH {90.0f}

Maximum Euclidean Distance Between SIFT Descriptors.

float EDD_RATIO {0.6f}

Boundary Ratio between the two lowest EDD.

float minCC_TH {0.95f}

Minimum Value of the Cross Correlation.

float minDCC_TH {0.025f}

Minimum Difference Between the Maximum Cross Correlation Values.

float rCC_TH {0.92f}

Maximum Ratio Between the two highest CC values.

float maxEDSD_TH {0.15f}

Maximum Euclidean Distance Between SURF Descriptors.

float EDSD_RATIO {0.6f}

Boundary Ratio between the two lowest SURF EDSD.

double maxSAD_TH {0.4}

Minimum Euclidean Distance Between Sum of Absolute Differences.

double SAD_RATIO {0.5}

Boundary Ratio between the two highest SAD.

double maxORB_dist

Maximun distance between ORB descriptors.

bool estimateDepth {false}

Whether or not estimate the 3D position of the real features for the matches (only with parallelOpticalAxis by now).

double maxDepthThreshold {15.0}

The maximum allowed depth for the matching.

If its computed depth is larger than this, the match won’t be considered.

Construction

TMatchingOptions()

Intrinsic parameters of the stereo rig.

Constructor

Methods

virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase& source, const std::string& section)

This method load the options from a “.ini”-like file or memory-stored string list.

Only those parameters found in the given “section” and having the same name that the variable are loaded. Those not found in the file will stay with their previous values (usually the default values loaded at initialization). An example of an “.ini” file:

[section]
resolution    = 0.10   // blah blah...
modeSelection = 1      // 0=blah, 1=blah,...

See also:

loadFromConfigFileName, saveToConfigFile

virtual void dumpToTextStream(std::ostream& out) const

This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.

The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.