18#ifndef SFM_SIFT_HEADER
19#define SFM_SIFT_HEADER
167 Keypoints const& get_keypoints (
void)
const;
176 static void load_lowe_descriptors (std::string
const& filename,
196 void create_octaves (
void);
198 float has_sigma,
float target_sigma);
199 void extrema_detection (
void);
202 void keypoint_localization (
void);
204 void descriptor_generation (
void);
205 void generate_grad_ori_images (
Octave* octave);
206 void orientation_assignment (
Keypoint const& kp,
207 Octave const* octave, std::vector<float>& orientations);
211 float keypoint_relative_scale (
Keypoint const& kp);
212 float keypoint_absolute_scale (
Keypoint const& kp);
225Sift::Options::Options (
void)
226 : num_samples_per_octave(3)
229 , contrast_threshold(-1.0f)
230 , edge_ratio_threshold(10.0f)
231 , base_blur_sigma(1.6f)
232 , inherent_blur_sigma(0.5f)
233 , verbose_output(false)
234 , debug_output(false)
241 return this->keypoints;
247 return this->descriptors;
Vector class for arbitrary dimensions and types.
std::shared_ptr< Image< T > const > ConstPtr
Implementation of the SIFT feature detector and descriptor.
std::vector< Keypoint > Keypoints
Descriptors const & get_descriptors(void) const
Returns the list of descriptors.
std::vector< Octave > Octaves
std::vector< Descriptor > Descriptors
Keypoints const & get_keypoints(void) const
Returns the list of keypoints.
#define SFM_NAMESPACE_END
#define SFM_NAMESPACE_BEGIN
Representation of the SIFT descriptor.
math::Vector< float, 128 > data
The descriptor data, elements are unsigned in [0.0, 1.0].
float scale
The scale (or sigma value) of the keypoint.
float orientation
The orientation of the image keypoint in [0, 2PI].
float x
The sub-pixel x-coordinate of the image keypoint.
float y
The sub-pixel y-coordinate of the image keypoint.
Representation of a SIFT keypoint.
float x
Keypoint x-coordinate.
float y
Keypoint y-coordinate.
int octave
Octave index of the keypoint.
float sample
Sample index.
Representation of a SIFT octave.
ImageVector grad
S+3 gradient images.
ImageVector dog
S+2 difference of gaussian images.
ImageVector ori
S+3 orientation images.
std::vector< mve::FloatImage::Ptr > ImageVector
ImageVector img
S+3 images per octave.
float edge_ratio_threshold
Sets the edge threshold to eliminate edge responses.
bool debug_output
Produce even more messages on the console.
float base_blur_sigma
Sets the amount of desired base blur before constructing the octaves.
bool verbose_output
Produce status messages on the console.
float inherent_blur_sigma
Sets the inherent blur sigma in the input image.
float contrast_threshold
Sets contrast threshold, i.e.
int max_octave
Sets the maximum octave.
int num_samples_per_octave
Sets the amount of samples per octave.
int min_octave
Sets the minimum octave ID.