SIFT  1.1.2
Data Structures | Defines | Functions
sift.h File Reference

Functions for detecting SIFT image features. More...

#include "cxcore.h"

Data Structures

struct  detection_data
 holds feature data relevant to detection More...

Defines

#define SIFT_INTVLS   3
 default number of sampled intervals per octave
#define SIFT_SIGMA   1.6
 default sigma for initial gaussian smoothing
#define SIFT_CONTR_THR   0.04
 default threshold on keypoint contrast |D(x)|
#define SIFT_CURV_THR   10
 default threshold on keypoint ratio of principle curvatures
#define SIFT_IMG_DBL   1
 double image size before pyramid construction?
#define SIFT_DESCR_WIDTH   4
 default width of descriptor histogram array
#define SIFT_DESCR_HIST_BINS   8
 default number of bins per histogram in descriptor array

Functions

int sift_features (IplImage *img, struct feature **feat)
 Finds SIFT features in an image using default parameter values.
int _sift_features (IplImage *img, struct feature **feat, int intvls, double sigma, double contr_thr, int curv_thr, int img_dbl, int descr_width, int descr_hist_bins)
 Finda SIFT features in an image using user-specified parameter values.

Detailed Description

Functions for detecting SIFT image features.

For more information, refer to:

Lowe, D. Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, 60, 2 (2004), pp.91--110.

Copyright (C) 2006-2010 Rob Hess <hess@eecs.oregonstate.edu>

Note: The SIFT algorithm is patented in the United States and cannot be used in commercial products without a license from the University of British Columbia. For more information, refer to the file LICENSE.ubc that accompanied this distribution.

Version:
1.1.2-20100521

Function Documentation

int sift_features ( IplImage *  img,
struct feature **  feat 
)

Finds SIFT features in an image using default parameter values.

All detected features are stored in the array pointed to by feat.

Parameters:
imgthe image in which to detect features
feata pointer to an array in which to store detected features; memory for this array is allocated by this function and must be freed by the caller using free(*feat)
Returns:
Returns the number of features stored in feat or -1 on failure
See also:
_sift_features()
int _sift_features ( IplImage *  img,
struct feature **  feat,
int  intvls,
double  sigma,
double  contr_thr,
int  curv_thr,
int  img_dbl,
int  descr_width,
int  descr_hist_bins 
)

Finda SIFT features in an image using user-specified parameter values.

All detected features are stored in the array pointed to by feat.

Parameters:
imgthe image in which to detect features
feata pointer to an array in which to store detected features; memory for this array is allocated by this function and must be freed by the caller using free(*feat)
intvlsthe number of intervals sampled per octave of scale space
sigmathe amount of Gaussian smoothing applied to each image level before building the scale space representation for an octave
contr_thra threshold on the value of the scale space function $\left|D(\hat{x})\right|$, where $\hat{x}$ is a vector specifying feature location and scale, used to reject unstable features; assumes pixel values in the range [0, 1]
curv_thrthreshold on a feature's ratio of principle curvatures used to reject features that are too edge-like
img_dblshould be 1 if image doubling prior to scale space construction is desired or 0 if not
descr_widththe width, $n$, of the $n \times n$ array of orientation histograms used to compute a feature's descriptor
descr_hist_binsthe number of orientations in each of the histograms in the array used to compute a feature's descriptor
Returns:
Returns the number of keypoints stored in feat or -1 on failure
See also:
sift_features()