Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

fl::DescriptorSIFT Class Reference

#include <descriptor.h>

Inheritance diagram for fl::DescriptorSIFT:

fl::Descriptor List of all members.

Public Methods

 DescriptorSIFT (int width=4, int angles=8)
 DescriptorSIFT (std::istream &stream)
void computeGradient (const Image &image)
virtual Vector< float > value (const Image &image, const PointAffine &point)
 Returns a vector of floats that describe the image patch near the interest point.

virtual Image patch (const Vector< float > &value)
 Return a graphical representation of the descriptor. Preferrably an image patch that would stimulate this descriptor to return the given value.

void patch (const std::string &fileName, const Vector< float > &value)
 Write a visualization of the descriptor to a postscript file.

void patch (Canvas *canvas, const Vector< float > &value, int size)
 Subroutine used by other patch() methods.

virtual Comparisoncomparison ()
 Return a MetricEuclidean, rather than the default (NormalizedCorrelation).

virtual void read (std::istream &stream)
virtual void write (std::ostream &stream, bool withName=true)

Public Attributes

int width
 Number of horizontal or vertical positions.

int angles
 Number of orientation bins.

int supportPixel
 Pixel radius of normalized form of affine-invariant patch, if used.

float sigmaWeight
 Size of Gaussian that weights the entries in the bins.

float maxValue
 Largest permissible entry in one bin.

void * lastBuffer
 For detecting change in cached image.

double lastTime
 For detecting change in cached image.

ImageOf< float > I_x
 x component of gradient vectors

ImageOf< float > I_y
 y component of gradient vectors


Detailed Description

Implements David Lowe's SIFT descriptor. Note on supportRadial: supportRadial * point.scale gives pixel distance from center to edge of bins when they overlay the image. The pixel diameter of one bin is 2 * supportRadial * point.scale / width.


Constructor & Destructor Documentation

DescriptorSIFT::DescriptorSIFT int    width = 4,
int    angles = 8
 

DescriptorSIFT::DescriptorSIFT std::istream &    stream
 


Member Function Documentation

Comparison * DescriptorSIFT::comparison   [virtual]
 

Return a MetricEuclidean, rather than the default (NormalizedCorrelation).

Reimplemented from fl::Descriptor.

void DescriptorSIFT::computeGradient const Image   image
 

void DescriptorSIFT::patch Canvas   canvas,
const Vector< float > &    value,
int    size
[inline]
 

Subroutine used by other patch() methods.

void DescriptorSIFT::patch const std::string &    fileName,
const Vector< float > &    value
 

Write a visualization of the descriptor to a postscript file.

Image DescriptorSIFT::patch const Vector< float > &    value [virtual]
 

Return a graphical representation of the descriptor. Preferrably an image patch that would stimulate this descriptor to return the given value.

Implements fl::Descriptor.

void DescriptorSIFT::read std::istream &    stream [virtual]
 

Reimplemented from fl::Descriptor.

Vector< float > DescriptorSIFT::value const Image   image,
const PointAffine   point
[virtual]
 

Returns a vector of floats that describe the image patch near the interest point.

Implements fl::Descriptor.

void DescriptorSIFT::write std::ostream &    stream,
bool    withName = true
[virtual]
 

Reimplemented from fl::Descriptor.


Member Data Documentation

int fl::DescriptorSIFT::angles
 

Number of orientation bins.

ImageOf<float> fl::DescriptorSIFT::I_x
 

x component of gradient vectors

ImageOf<float> fl::DescriptorSIFT::I_y
 

y component of gradient vectors

void* fl::DescriptorSIFT::lastBuffer
 

For detecting change in cached image.

double fl::DescriptorSIFT::lastTime
 

For detecting change in cached image.

float fl::DescriptorSIFT::maxValue
 

Largest permissible entry in one bin.

float fl::DescriptorSIFT::sigmaWeight
 

Size of Gaussian that weights the entries in the bins.

int fl::DescriptorSIFT::supportPixel
 

Pixel radius of normalized form of affine-invariant patch, if used.

int fl::DescriptorSIFT::width
 

Number of horizontal or vertical positions.


The documentation for this class was generated from the following files:
Generated on Thu Dec 9 17:13:26 2004 for fl by doxygen1.2.18