MRPT logo

mrpt::vision::CFeatureExtraction Class Reference

#include <mrpt/vision/CFeatureExtraction.h>

List of all members.

Classes

struct  TOptions

Public Types

enum  TMethodExtraction {
  extMethodKLT = 0, extMethodHarris, extMethodBCD, extMethodSIFT,
  extMethodSURF
}
enum  TSIFTImplementation { LoweBinary = 0, CSBinary, VedaldiBinary, Hess }

Public Member Functions

 CFeatureExtraction ()
 Constructor.
virtual ~CFeatureExtraction ()
 Virtual destructor.
void detectFeatures (const CMRPTImage &img, CFeatureList &feats, unsigned int init_ID=0, unsigned int nDesiredFeatures=0, const TImageROI &ROI=TImageROI())
 Extract features from the image based on the method defined in TOptions.
void computeSiftDescriptors (const CMRPTImage &in_img, CFeatureList &in_features)
 Compute the SIFT descriptor of the provided features into the input image.
void findMoreFeatures (const CMRPTImage &img, const CFeatureList &inList, CFeatureList &outList, unsigned int nDesiredFeats=0)
 Extract more features from the image (apart from the provided ones) based on the method defined in TOptions .

Public Attributes

struct MRPTDLLIMPEXP
mrpt::vision::CFeatureExtraction::TOptions 
options

Private Member Functions

void selectGoodFeaturesKLT (const CMRPTImage &inImg, CFeatureList &feats, unsigned int init_ID=0, unsigned int nDesiredFeatures=0, void *mask_=NULL)
 Extract features from the image based on the Harris method.
void extractFeaturesKLT (const CMRPTImage &img, CFeatureList &feats, unsigned int init_ID=0, unsigned int nDesiredFeatures=0, unsigned int x_min=0, unsigned int x_length=0, unsigned int y_min=0, unsigned int y_length=0)
 Extract features from the image based on the KLT method.
void extractFeaturesKLT (const CMRPTImage &img, CFeatureList &feats, unsigned int init_ID=0, unsigned int nDesiredFeatures=0, const TImageROI &ROI=TImageROI())
 Extract features from the image based on the KLT method.
void extractFeaturesBCD (const CMRPTImage &img, CFeatureList &feats, unsigned int init_ID=0, unsigned int nDesiredFeatures=0, const TImageROI &ROI=TImageROI())
 Extract features from the image based on the BCD method.
void extractFeaturesSIFT (const CMRPTImage &img, CFeatureList &feats, unsigned int init_ID=0, unsigned int nDesiredFeatures=0, const TImageROI &ROI=TImageROI())
 Extract features from the image based on the SIFT method.
void extractFeaturesSURF (const CMRPTImage &img, CFeatureList &feats, unsigned int init_ID=0, unsigned int nDesiredFeatures=0, const TImageROI &ROI=TImageROI())
 Extract features from the image based on the SURF method.
void * my_scale_space_extrema (CFeatureList &featList, void *dog_pyr, int octvs, int intvls, double contr_thr, int curv_thr, void *storage)
 Computes extrema in the scale space.
void my_adjust_for_img_dbl (void *features)
 Adjust scale if the image was initially doubled.
void getTimesExtrema (void *dog_pyr, int octvs, int intvls, float row, float col, unsigned int &nMin, unsigned int &nMax)
 Gets the number of times that a point in the image is higher or lower than the surroundings in the image-scale space.
double getLaplacianValue (void *dog_pyr, int octvs, int intvls, float row, float col)
 Computes the Laplacian value of the feature in the corresponing image in the pyramid.
void insertCvSeqInCFeatureList (void *features, CFeatureList &list, unsigned int init_ID=0)
 Append a sequence of openCV features into an MRPT feature list.
void convertCvSeqInCFeatureList (void *features, CFeatureList &list, unsigned int init_ID=0, const TImageROI &ROI=TImageROI())
 Converts a sequence of openCV features into an MRPT feature list.
bool launchExternalApp (char *command)
 Launch an external process (for internal use only).


Detailed Description

Definition at line 43 of file CFeatureExtraction.h.


Member Enumeration Documentation

Enumerator:
extMethodKLT 
extMethodHarris 
extMethodBCD 
extMethodSIFT 
extMethodSURF 

Definition at line 48 of file CFeatureExtraction.h.

Enumerator:
LoweBinary 
CSBinary 
VedaldiBinary 
Hess 

Definition at line 57 of file CFeatureExtraction.h.


Constructor & Destructor Documentation

mrpt::vision::CFeatureExtraction::CFeatureExtraction (  ) 

Constructor.

virtual mrpt::vision::CFeatureExtraction::~CFeatureExtraction (  )  [virtual]

Virtual destructor.


Member Function Documentation

void mrpt::vision::CFeatureExtraction::computeSiftDescriptors ( const CMRPTImage in_img,
CFeatureList in_features 
)

Compute the SIFT descriptor of the provided features into the input image.

Parameters:
in_img (input) The image from where to compute the descriptors.
in_features (input/output) The list of features whose descriptors are going to be computed.

void mrpt::vision::CFeatureExtraction::convertCvSeqInCFeatureList ( void *  features,
CFeatureList list,
unsigned int  init_ID = 0,
const TImageROI ROI = TImageROI() 
) [private]

Converts a sequence of openCV features into an MRPT feature list.

Parameters:
features The sequence of features.
list [in-out] The list of MRPT features.
init_ID [in][optional] The initial ID for the features (default = 0).
ROI [in][optional] The initial ID for the features (default = empty ROI -> not used).

void mrpt::vision::CFeatureExtraction::detectFeatures ( const CMRPTImage img,
CFeatureList feats,
unsigned int  init_ID = 0,
unsigned int  nDesiredFeatures = 0,
const TImageROI ROI = TImageROI() 
)

Extract features from the image based on the method defined in TOptions.

Parameters:
img (input) The image from where to extract the images.
feats (output) A complete list of features (containing a patch for each one of them).
nDesiredFeatures (op. input) Number of features to be extracted. Default: authomatic.
ROI (op. input) Region of Interest. Default: All the image.

void mrpt::vision::CFeatureExtraction::extractFeaturesBCD ( const CMRPTImage img,
CFeatureList feats,
unsigned int  init_ID = 0,
unsigned int  nDesiredFeatures = 0,
const TImageROI ROI = TImageROI() 
) [private]

Extract features from the image based on the BCD method.

Parameters:
img The image from where to extract the images.
feats The list of extracted features.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
ROI (op. input) Region of Interest. Default: All the image.

void mrpt::vision::CFeatureExtraction::extractFeaturesKLT ( const CMRPTImage img,
CFeatureList feats,
unsigned int  init_ID = 0,
unsigned int  nDesiredFeatures = 0,
const TImageROI ROI = TImageROI() 
) [private]

Extract features from the image based on the KLT method.

Parameters:
img The image from where to extract the images.
feats The list of extracted features.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
ROI (op. input) Region of Interest. Default: All the image.

void mrpt::vision::CFeatureExtraction::extractFeaturesKLT ( const CMRPTImage img,
CFeatureList feats,
unsigned int  init_ID = 0,
unsigned int  nDesiredFeatures = 0,
unsigned int  x_min = 0,
unsigned int  x_length = 0,
unsigned int  y_min = 0,
unsigned int  y_length = 0 
) [private]

Extract features from the image based on the KLT method.

Parameters:
img The image from where to extract the images.
x Vector containing the feature 'x' coordinates.
y Vector containing the feature 'y' coordinates.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
x_min Minimum x coordinate in the image where the extraction is performed. Default: All the image.
x_length X Length of the region of interest. Default: All the image.
y_min Minimum y coordinate in the image where the extraction is performed. Default: All the image.
y_length X Length of the region of interest. Default: All the image.

void mrpt::vision::CFeatureExtraction::extractFeaturesSIFT ( const CMRPTImage img,
CFeatureList feats,
unsigned int  init_ID = 0,
unsigned int  nDesiredFeatures = 0,
const TImageROI ROI = TImageROI() 
) [private]

Extract features from the image based on the SIFT method.

Parameters:
img The image from where to extract the images.
feats The list of extracted features.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
ROI (op. input) Region of Interest. Default: All the image.

void mrpt::vision::CFeatureExtraction::extractFeaturesSURF ( const CMRPTImage img,
CFeatureList feats,
unsigned int  init_ID = 0,
unsigned int  nDesiredFeatures = 0,
const TImageROI ROI = TImageROI() 
) [private]

Extract features from the image based on the SURF method.

Parameters:
img The image from where to extract the images.
feats The list of extracted features.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
ROI (op. input) Region of Interest. Default: All the image.

void mrpt::vision::CFeatureExtraction::findMoreFeatures ( const CMRPTImage img,
const CFeatureList inList,
CFeatureList outList,
unsigned int  nDesiredFeats = 0 
)

Extract more features from the image (apart from the provided ones) based on the method defined in TOptions .

Parameters:
img (input) The image from where to extract the images.
inList (input) The actual features in the image
outList (output) The list of new features (containing a patch for each one of them).
nDesiredFeatures (op. input) Number of features to be extracted. Default: authomatic.

double mrpt::vision::CFeatureExtraction::getLaplacianValue ( void *  dog_pyr,
int  octvs,
int  intvls,
float  row,
float  col 
) [private]

Computes the Laplacian value of the feature in the corresponing image in the pyramid.

Parameters:
dog_pyr Pyramid of images.
octvs Number of considered octaves.
intvls Number of intervales in octaves.
row The row of the feature in the original image.
col The column of the feature in the original image.

void mrpt::vision::CFeatureExtraction::getTimesExtrema ( void *  dog_pyr,
int  octvs,
int  intvls,
float  row,
float  col,
unsigned int &  nMin,
unsigned int &  nMax 
) [private]

Gets the number of times that a point in the image is higher or lower than the surroundings in the image-scale space.

Parameters:
dog_pyr Pyramid of images.
octvs Number of considered octaves.
intvls Number of intervales in octaves.
row The row of the feature in the original image.
col The column of the feature in the original image.
nMin [out]: Times that the feature is lower than the surroundings.
nMax [out]: Times that the feature is higher than the surroundings.

void mrpt::vision::CFeatureExtraction::insertCvSeqInCFeatureList ( void *  features,
CFeatureList list,
unsigned int  init_ID = 0 
) [private]

Append a sequence of openCV features into an MRPT feature list.

Parameters:
features The sequence of features.
list [in-out] The list of MRPT features.
init_ID [in] The initial ID for the new features.

bool mrpt::vision::CFeatureExtraction::launchExternalApp ( char *  command  )  [private]

Launch an external process (for internal use only).

Parameters:
command [in] The char array containing the command (with parameters)

void mrpt::vision::CFeatureExtraction::my_adjust_for_img_dbl ( void *  features  )  [private]

Adjust scale if the image was initially doubled.

Parameters:
features The sequence of features.

void* mrpt::vision::CFeatureExtraction::my_scale_space_extrema ( CFeatureList featList,
void *  dog_pyr,
int  octvs,
int  intvls,
double  contr_thr,
int  curv_thr,
void *  storage 
) [private]

Computes extrema in the scale space.

Parameters:
dog_pyr Pyramid of images.
octvs Number of considered octaves.
intvls Number of intervales in octaves.

void mrpt::vision::CFeatureExtraction::selectGoodFeaturesKLT ( const CMRPTImage inImg,
CFeatureList feats,
unsigned int  init_ID = 0,
unsigned int  nDesiredFeatures = 0,
void *  mask_ = NULL 
) [private]

Extract features from the image based on the Harris method.

Parameters:
img The image from where to extract the images.
x Vector containing the feature 'x' coordinates.
y Vector containing the feature 'y' coordinates.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
x_min Minimum x coordinate in the image where the extraction is performed. Default: All the image.
x_length X Length of the region of interest. Default: All the image.
y_min Minimum y coordinate in the image where the extraction is performed. Default: All the image.
y_length X Length of the region of interest. Default: All the image. / void extractFeaturesHarris( const CMRPTImageFloat &img, vector_float &x, vector_float &y, int nDesiredFeatures = -1, unsigned int x_min = 0, unsigned int x_length = 0, unsigned int y_min = 0, unsigned int y_length = 0); / Extract features from the image based on the Harris method employing the classical algorithm.
img The image from where to extract the images.
x Vector containing the feature 'x' coordinates.
y Vector containing the feature 'y' coordinates.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
x_min Minimum x coordinate in the image where the extraction is performed. Default: All the image.
y_min Minimum y coordinate in the image where the extraction is performed. Default: All the image. / void HarrisCommon( const CMRPTImageFloat &imgR, vector_float &x, vector_float &y, int nDesiredFeatures, unsigned int x_min, unsigned int y_min); / Extract features from the image based on the Harris method and distributing the features over the image.
img The image from where to extract the images.
x Vector containing the feature 'x' coordinates.
y Vector containing the feature 'y' coordinates.
nDesiredFeatures Number of features to be extracted. Default: authomatic.
x_min Minimum x coordinate in the image where the extraction is performed. Default: All the image.
y_min Minimum y coordinate in the image where the extraction is performed. Default: All the image. / void HarrisMask( const CMRPTImageFloat &imgR, vector_float &x, vector_float &y, int nDesiredFeatures, unsigned int x_min, unsigned int y_min); / Select good features using the openCV implementation of the KLT method.
img (input) The image from where to select extract the images.
feats (output) A complete list of features (containing a patch for each one of them).
nDesiredFeatures (op. input) Number of features to be extracted. Default: authomatic.
omitPixels (op. input) A mask for determining the ROI. (0: do not omit this pixel, 1: omit this pixel)


Member Data Documentation




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN: at Thu Feb 26 02:18:33 EST 2009