template struct mrpt::vision::TKeyPoint_templ

Simple structure for image key points.

Descriptors are stored separately in CFeatureList. This is a template to allow using both integers (TKeyPoint) or floats (TKeyPointf) as pixel coordinates.

See also:

TKeyPoint, TKeyPointf

#include <mrpt/vision/TKeyPoint.h>

template <typename PIXEL_COORD_TYPE>
struct TKeyPoint_templ
    // typedefs

    typedef PIXEL_COORD_TYPE pixel_coords_t;
    typedef typename PIXEL_COORD_TYPE::pixel_coord_t pixel_coord_t;


    pixel_coords_t pt;
    TFeatureID ID {static_cast<TFeatureID>(-1)};
    TFeatureTrackStatus track_status {status_IDLE};
    float response {0};
    uint8_t octave {0};
    uint8_t user_flags {0};

    // construction

    template <typename COORD_TYPE>
    TKeyPoint_templ(const COORD_TYPE x, const COORD_TYPE y);


    template <typename OTHER_TKeyPoint>
    TKeyPoint_templ(const OTHER_TKeyPoint& o);


typedef PIXEL_COORD_TYPE pixel_coords_t

The type of pt.

typedef typename PIXEL_COORD_TYPE::pixel_coord_t pixel_coord_t

The type of pt.x and pt.y.


pixel_coords_t pt

Coordinates in the image.

TFeatureID ID {static_cast<TFeatureID>(-1)}

ID of the feature.

TFeatureTrackStatus track_status {status_IDLE}

Status of the feature tracking process.

float response {0}

A measure of the “goodness” of the feature (typically, the KLT_response value)

uint8_t octave {0}

The image octave the image was found in: 0=original image, 1=1/2 image, 2=1/4 image, etc.

uint8_t user_flags {0}

A field for any other flags needed by the user (this has not a predefined meaning)


template <typename COORD_TYPE>
    const COORD_TYPE x,
    const COORD_TYPE y

Constructor that only sets the pt.

{x,y} values, leaving all other values to undefined values.


Default constructor, leaves all fields uninitialized.