Extracts mean-normalized intensity patch around a pixel. More...
#include <intensity_descriptor.hpp>
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 |
| virtual | ~IntensityDescriptorExtractor () |
Private Member Functions | |
| void | initialize () |
| IntensityDescriptorExtractor (const IntensityDescriptorExtractor &other) | |
| void | normalizeDescriptor (uint8_t *desc) const |
| IntensityDescriptorExtractor & | operator= (const IntensityDescriptorExtractor &other) |
Private Attributes | |
| int | _brightess_offset_num_sse_ops |
| uint8_t * | _descriptor_brightness_offset |
| int * | _descriptor_index_offsets |
| int | _descriptor_len |
| int | _descriptor_stride |
| int | _feature_window_size |
| int | _num_descriptor_pad_bytes |
| int | _raw_gray_stride |
Extracts mean-normalized intensity patch around a pixel.
Definition at line 17 of file intensity_descriptor.hpp.
| fovis::IntensityDescriptorExtractor::IntensityDescriptorExtractor | ( | int | raw_gray_stride, |
| int | feature_window_size | ||
| ) | [inline] |
| raw_gray_stride | specifies the number of bytes separating each row of the input image. |
| feature_window_size | the size of the descriptor window. |
Definition at line 24 of file intensity_descriptor.hpp.
| virtual fovis::IntensityDescriptorExtractor::~IntensityDescriptorExtractor | ( | ) | [inline, virtual] |
Definition at line 30 of file intensity_descriptor.hpp.
| fovis::IntensityDescriptorExtractor::IntensityDescriptorExtractor | ( | const IntensityDescriptorExtractor & | other | ) | [private] |
| const int* fovis::IntensityDescriptorExtractor::getDescriptorIndexOffsets | ( | ) | const [inline] |
Definition at line 95 of file intensity_descriptor.hpp.
| int fovis::IntensityDescriptorExtractor::getDescriptorLength | ( | ) | const [inline] |
Definition at line 102 of file intensity_descriptor.hpp.
| int fovis::IntensityDescriptorExtractor::getDescriptorStride | ( | ) | const [inline] |
Definition at line 87 of file intensity_descriptor.hpp.
| void fovis::IntensityDescriptorExtractor::initialize | ( | ) | [private] |
Definition at line 26 of file intensity_descriptor.cpp.
| void fovis::IntensityDescriptorExtractor::normalizeDescriptor | ( | uint8_t * | desc | ) | const [private] |
Definition at line 111 of file intensity_descriptor.cpp.
| IntensityDescriptorExtractor& fovis::IntensityDescriptorExtractor::operator= | ( | const IntensityDescriptorExtractor & | other | ) | [private] |
| void fovis::IntensityDescriptorExtractor::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.
Definition at line 92 of file intensity_descriptor.cpp.
| void fovis::IntensityDescriptorExtractor::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.
Definition at line 61 of file intensity_descriptor.cpp.
| void fovis::IntensityDescriptorExtractor::populateDescriptorsAligned | ( | uint8_t * | image, |
| const KeypointData * | keypoints, | ||
| int | num_keypoints, | ||
| uint8_t * | descriptors | ||
| ) | const |
Compute many descriptors.
| image | input image used for descriptor computation. |
| keypoints | keypoints for descriptor computation. |
| num_keypoints | the number of keypoints. |
| descriptors | Must be 16-byte aligned and pre-allocated to num_keypoints * 16 * getDescriptorStride() bytes. |
Definition at line 158 of file intensity_descriptor.cpp.
| void fovis::IntensityDescriptorExtractor::populateDescriptorsInterp | ( | uint8_t * | image, |
| const KeypointData * | keypoints, | ||
| int | num_keypoints, | ||
| uint8_t * | descriptors | ||
| ) | const |
Compute many descriptors using bilinear interpolation.
| image | input image used for descriptor computation. |
| keypoints | keypoints for descriptor computation. |
| num_keypoints | the number of keypoints. |
| descriptors | Must be 16-byte aligned and pre-allocated to num_keypoints * 16 * getDescriptorStride() bytes. |
Definition at line 144 of file intensity_descriptor.cpp.
Definition at line 117 of file intensity_descriptor.hpp.
uint8_t* fovis::IntensityDescriptorExtractor::_descriptor_brightness_offset [private] |
Definition at line 116 of file intensity_descriptor.hpp.
Definition at line 122 of file intensity_descriptor.hpp.
int fovis::IntensityDescriptorExtractor::_descriptor_len [private] |
Definition at line 119 of file intensity_descriptor.hpp.
int fovis::IntensityDescriptorExtractor::_descriptor_stride [private] |
Definition at line 121 of file intensity_descriptor.hpp.
Definition at line 120 of file intensity_descriptor.hpp.
Definition at line 115 of file intensity_descriptor.hpp.
int fovis::IntensityDescriptorExtractor::_raw_gray_stride [private] |
Definition at line 113 of file intensity_descriptor.hpp.