MVE - Multi-View Environment mve-devel
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
sfm::Surf Class Reference

Implementation of the SURF feature detector and descriptor as described in: More...

#include <surf.h>

Classes

struct  Descriptor
 Representation of a SURF descriptor. More...
 
struct  Keypoint
 Representation of a SURF keypoint. More...
 
struct  Octave
 
struct  Options
 SURF options. More...
 

Public Types

typedef std::vector< DescriptorDescriptors
 
typedef std::vector< KeypointKeypoints
 

Public Member Functions

 Surf (Options const &options)
 
Descriptors const & get_descriptors (void) const
 Returns the list of descriptors.
 
Keypoints const & get_keypoints (void) const
 Returns the list of keypoints.
 
void process (void)
 Starts Surf keypoint detection and descriptor extraction.
 
void set_image (mve::ByteImage::ConstPtr image)
 Sets the input image.
 

Protected Types

typedef std::vector< OctaveOctaves
 
typedef mve::Image< SatTypeSatImage
 SAT image type.
 
typedef int64_t SatType
 Signed type for the SAT image values.
 

Protected Member Functions

void check_maximum (int o, int s, int x, int y)
 
void create_octaves (void)
 
void create_response_map (int o, int k)
 
void descriptor_assignment (void)
 
bool descriptor_computation (Descriptor *descr, bool upright)
 
bool descriptor_orientation (Descriptor *descr)
 
void extrema_detection (void)
 
void filter_dx_dy (int x, int y, int fs, float *dx, float *dy)
 
SatType filter_dxx (int fs, int x, int y)
 
SatType filter_dxy (int fs, int x, int y)
 
SatType filter_dyy (int fs, int x, int y)
 
bool keypoint_localization (Surf::Keypoint *kp)
 
void keypoint_localization_and_filtering (void)
 

Detailed Description

Implementation of the SURF feature detector and descriptor as described in:

Speeded-Up Robust Features (SURF) by Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool

Since SURF relies on summed area tables (SAT), it can currently only be used with integer images, in particular byte images. For floating point data types, SATs may be inaccurate due to possible large values in the lower-right region of the SAT.

Definition at line 40 of file surf.h.

Member Typedef Documentation

◆ Descriptors

typedef std::vector<Descriptor> sfm::Surf::Descriptors

Definition at line 99 of file surf.h.

◆ Keypoints

typedef std::vector<Keypoint> sfm::Surf::Keypoints

Definition at line 98 of file surf.h.

◆ Octaves

typedef std::vector<Octave> sfm::Surf::Octaves
protected

Definition at line 130 of file surf.h.

◆ SatImage

SAT image type.

Definition at line 129 of file surf.h.

◆ SatType

typedef int64_t sfm::Surf::SatType
protected

Signed type for the SAT image values.

Definition at line 128 of file surf.h.

Constructor & Destructor Documentation

◆ Surf()

sfm::Surf::Surf ( Options const &  options)
explicit

Definition at line 39 of file surf.cc.

Member Function Documentation

◆ check_maximum()

void sfm::Surf::check_maximum ( int  o,
int  s,
int  x,
int  y 
)
protected

Definition at line 337 of file surf.cc.

◆ create_octaves()

void sfm::Surf::create_octaves ( void  )
protected

Definition at line 143 of file surf.cc.

◆ create_response_map()

void sfm::Surf::create_response_map ( int  o,
int  k 
)
protected

Definition at line 159 of file surf.cc.

◆ descriptor_assignment()

void sfm::Surf::descriptor_assignment ( void  )
protected

Definition at line 479 of file surf.cc.

◆ descriptor_computation()

bool sfm::Surf::descriptor_computation ( Descriptor descr,
bool  upright 
)
protected

Definition at line 665 of file surf.cc.

◆ descriptor_orientation()

bool sfm::Surf::descriptor_orientation ( Descriptor descr)
protected

Definition at line 516 of file surf.cc.

◆ extrema_detection()

void sfm::Surf::extrema_detection ( void  )
protected

Definition at line 311 of file surf.cc.

◆ filter_dx_dy()

void sfm::Surf::filter_dx_dy ( int  x,
int  y,
int  fs,
float *  dx,
float *  dy 
)
protected

Definition at line 624 of file surf.cc.

◆ filter_dxx()

Surf::SatType sfm::Surf::filter_dxx ( int  fs,
int  x,
int  y 
)
protected

Definition at line 222 of file surf.cc.

◆ filter_dxy()

Surf::SatType sfm::Surf::filter_dxy ( int  fs,
int  x,
int  y 
)
protected

Definition at line 272 of file surf.cc.

◆ filter_dyy()

Surf::SatType sfm::Surf::filter_dyy ( int  fs,
int  x,
int  y 
)
protected

Definition at line 246 of file surf.cc.

◆ get_descriptors()

Surf::Descriptors const & sfm::Surf::get_descriptors ( void  ) const
inline

Returns the list of descriptors.

Definition at line 177 of file surf.h.

◆ get_keypoints()

Surf::Keypoints const & sfm::Surf::get_keypoints ( void  ) const
inline

Returns the list of keypoints.

Definition at line 171 of file surf.h.

◆ keypoint_localization()

bool sfm::Surf::keypoint_localization ( Surf::Keypoint kp)
protected

Definition at line 397 of file surf.cc.

◆ keypoint_localization_and_filtering()

void sfm::Surf::keypoint_localization_and_filtering ( void  )
protected

Definition at line 379 of file surf.cc.

◆ process()

void sfm::Surf::process ( void  )

Starts Surf keypoint detection and descriptor extraction.

Definition at line 49 of file surf.cc.

◆ set_image()

void sfm::Surf::set_image ( mve::ByteImage::ConstPtr  image)

Sets the input image.

Definition at line 124 of file surf.cc.


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