struct mrpt::vision::CFeature::TDescriptors

All the possible descriptors this feature may have.

#include <mrpt/vision/CFeature.h>

struct TDescriptors
{
    //
fields

    std::optional<std::vector<uint8_t>> SIFT;
    std::optional<std::vector<float>> SURF;
    std::optional<std::vector<float>> SpinImg;
    uint16_t SpinImg_range_rows {0};
    std::optional<mrpt::math::CMatrixF> PolarImg;
    std::optional<mrpt::math::CMatrixF> LogPolarImg;
    bool polarImgsNoRotation {false};
    std::optional<std::vector<uint8_t>> ORB;
    std::optional<std::vector<uint8_t>> BLD;
    std::optional<std::vector<uint8_t>> LATCH;

    // construction

    TDescriptors();

    //
methods

    bool hasDescriptorSIFT() const;
    bool hasDescriptorSURF() const;
    bool hasDescriptorSpinImg() const;
    bool hasDescriptorPolarImg() const;
    bool hasDescriptorLogPolarImg() const;
    bool hasDescriptorORB() const;
    bool hasDescriptorBLD() const;
    bool hasDescriptorLATCH() const;
};

Fields

std::optional<std::vector<uint8_t>> SIFT

SIFT feature descriptor.

std::optional<std::vector<float>> SURF

SURF feature descriptor.

std::optional<std::vector<float>> SpinImg

The 2D histogram as a single row.

uint16_t SpinImg_range_rows {0}

The number of rows (corresponding to range bins in the 2D histogram) of the original matrix from which SpinImg was extracted as a vector.

std::optional<mrpt::math::CMatrixF> PolarImg

A polar image centered at the interest point.

std::optional<mrpt::math::CMatrixF> LogPolarImg

A log-polar image centered at the interest point.

bool polarImgsNoRotation {false}

If set to true (default=false) the call to “descriptorDistanceTo” will not consider all the rotations between polar image descriptors (PolarImg, LogPolarImg)

std::optional<std::vector<uint8_t>> ORB

ORB feature descriptor.

std::optional<std::vector<uint8_t>> BLD

BLD feature descriptor.

std::optional<std::vector<uint8_t>> LATCH

LATCH feature descriptor.