|
MVE - Multi-View Environment mve-devel
|
Implementation of the SIFT feature detector and descriptor. More...
#include <sift.h>
Classes | |
| struct | Descriptor |
| Representation of the SIFT descriptor. More... | |
| struct | Keypoint |
| Representation of a SIFT keypoint. More... | |
| struct | Octave |
| Representation of a SIFT octave. More... | |
| struct | Options |
| SIFT options. More... | |
Public Types | |
| typedef std::vector< Descriptor > | Descriptors |
| typedef std::vector< Keypoint > | Keypoints |
Public Member Functions | |
| Sift (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 the SIFT keypoint detection and descriptor extraction. | |
| void | set_float_image (mve::FloatImage::ConstPtr img) |
| Sets the input image. | |
| void | set_image (mve::ByteImage::ConstPtr img) |
| Sets the input image. | |
Static Public Member Functions | |
| static void | load_lowe_descriptors (std::string const &filename, Descriptors *result) |
| Helper function that creates SIFT descriptors from David Lowe's SIFT descriptor files. | |
Protected Types | |
| typedef std::vector< Octave > | Octaves |
Protected Member Functions | |
| void | add_octave (mve::FloatImage::ConstPtr image, float has_sigma, float target_sigma) |
| void | create_octaves (void) |
| bool | descriptor_assignment (Keypoint const &kp, Descriptor &desc, Octave const *octave) |
| void | descriptor_generation (void) |
| std::size_t | extrema_detection (mve::FloatImage::ConstPtr s[3], int oi, int si) |
| void | extrema_detection (void) |
| void | generate_grad_ori_images (Octave *octave) |
| float | keypoint_absolute_scale (Keypoint const &kp) |
| void | keypoint_localization (void) |
| float | keypoint_relative_scale (Keypoint const &kp) |
| void | orientation_assignment (Keypoint const &kp, Octave const *octave, std::vector< float > &orientations) |
Implementation of the SIFT feature detector and descriptor.
The implementation follows the description of the journal article:
Distinctive Image Features from Scale-Invariant Keypoints, David G. Lowe, International Journal of Computer Vision, 2004.
The implementation used the siftpp implementation as reference for some parts of the algorithm. This implementation is available here:
| typedef std::vector<Descriptor> sfm::Sift::Descriptors |
| typedef std::vector<Keypoint> sfm::Sift::Keypoints |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inline |
|
inline |
|
protected |
|
protected |
|
static |
| void sfm::Sift::process | ( | void | ) |
| void sfm::Sift::set_float_image | ( | mve::FloatImage::ConstPtr | img | ) |
| void sfm::Sift::set_image | ( | mve::ByteImage::ConstPtr | img | ) |