libfovis
Public Member Functions | List of all members
IntensityDescriptorExtractor Class Reference

Extracts mean-normalized intensity patch around a pixel. More...

Public Member Functions

const int * getDescriptorIndexOffsets () const
 
int getDescriptorLength () const
 
int getDescriptorStride () const
 
 IntensityDescriptorExtractor (int raw_gray_stride, int feature_window_size)
 
void populateDescriptorAligned (uint8_t *image, int x, int y, uint8_t *descriptor) const
 
void populateDescriptorInterp (uint8_t *image, float x, float y, uint8_t *descriptor) const
 
void populateDescriptorsAligned (uint8_t *image, const KeypointData *keypoints, int num_keypoints, uint8_t *descriptors) const
 
void populateDescriptorsInterp (uint8_t *image, const KeypointData *keypoints, int num_keypoints, uint8_t *descriptors) const
 

Detailed Description

Extracts mean-normalized intensity patch around a pixel.

Constructor & Destructor Documentation

IntensityDescriptorExtractor ( int  raw_gray_stride,
int  feature_window_size 
)
inline
Parameters
raw_gray_stridespecifies the number of bytes separating each row of the input image.
feature_window_sizethe size of the descriptor window.

Member Function Documentation

void populateDescriptorInterp ( uint8_t *  image,
float  x,
float  y,
uint8_t *  descriptor 
) const

Computes a single descriptor using bilinear interpolation at every point on the descriptor. This performs 4 floating point multiplications for every pixel in the descriptor.

Assumes that the output parameter is 16-byte aligned.

void populateDescriptorAligned ( uint8_t *  image,
int  x,
int  y,
uint8_t *  descriptor 
) const

Computes a single descriptor. Assumes that the output parameter descriptor is 16-byte aligned.

void populateDescriptorsInterp ( uint8_t *  image,
const KeypointData keypoints,
int  num_keypoints,
uint8_t *  descriptors 
) const

Compute many descriptors using bilinear interpolation.

Parameters
imageinput image used for descriptor computation.
keypointskeypoints for descriptor computation.
num_keypointsthe number of keypoints.
descriptorsMust be 16-byte aligned and pre-allocated to num_keypoints * 16 * getDescriptorStride() bytes.
void populateDescriptorsAligned ( uint8_t *  image,
const KeypointData keypoints,
int  num_keypoints,
uint8_t *  descriptors 
) const

Compute many descriptors.

Parameters
imageinput image used for descriptor computation.
keypointskeypoints for descriptor computation.
num_keypointsthe number of keypoints.
descriptorsMust be 16-byte aligned and pre-allocated to num_keypoints * 16 * getDescriptorStride() bytes.
int getDescriptorStride ( ) const
inline
Returns
the number of bytes that should separate descriptors in a vector of keypoint descriptors. This is usually a multiple of 16 so that each descriptor is 16-byte aligned.
const int* getDescriptorIndexOffsets ( ) const
inline
Returns
an array of offset indices indicating the image offset of each descriptor pixel from the descriptor center pixel.
int getDescriptorLength ( ) const
inline
Returns
the number of useful bytes in each descriptor.

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