Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions
cv::DynamicAdaptedFeatureDetector Class Reference

an adaptively adjusting detector that iteratively detects until the desired number of features are detected. Beware that this is not thread safe - as the adjustment of parameters breaks the const of the detection routine... /TODO Make this const correct and thread safe More...

#include <features2d.hpp>

Inherits cv::FeatureDetector.

List of all members.

Public Member Functions

 DynamicAdaptedFeatureDetector (const Ptr< AdjusterAdapter > &adjaster, int min_features=400, int max_features=500, int max_iters=5)
virtual bool empty () const
void detect (const Mat &image, vector< KeyPoint > &keypoints, const Mat &mask=Mat()) const
void detect (const vector< Mat > &images, vector< vector< KeyPoint > > &keypoints, const vector< Mat > &masks=vector< Mat >()) const
virtual void read (const FileNode &)
virtual void write (FileStorage &) const

Static Public Member Functions

static Ptr< FeatureDetectorcreate (const string &detectorType)

Protected Member Functions

virtual void detectImpl (const Mat &image, vector< KeyPoint > &keypoints, const Mat &mask=Mat()) const

Static Protected Member Functions

static void removeInvalidPoints (const Mat &mask, vector< KeyPoint > &keypoints)

Detailed Description

an adaptively adjusting detector that iteratively detects until the desired number of features are detected. Beware that this is not thread safe - as the adjustment of parameters breaks the const of the detection routine... /TODO Make this const correct and thread safe

sample usage: will create a detector that attempts to find 100 - 110 FAST Keypoints, and will at most run FAST feature detection 10 times until that number of keypoints are found Ptr<FeatureDetector> detector(new DynamicAdaptedFeatureDetector(new FastAdjuster(20,true),100, 110, 10));


Constructor & Destructor Documentation

cv::DynamicAdaptedFeatureDetector::DynamicAdaptedFeatureDetector ( const Ptr< AdjusterAdapter > &  adjaster,
int  min_features = 400,
int  max_features = 500,
int  max_iters = 5 
)
Parameters:
adjasteran AdjusterAdapter that will do the detection and parameter adjustment
max_featuresthe maximum desired number of features
max_itersthe maximum number of times to try to adjust the feature detector params for the FastAdjuster this can be high, but with Star or Surf this can get time consuming
min_featuresthe minimum desired features

Member Function Documentation

virtual bool cv::DynamicAdaptedFeatureDetector::empty ( ) const [virtual]

Reimplemented from cv::FeatureDetector.

virtual void cv::DynamicAdaptedFeatureDetector::detectImpl ( const Mat image,
vector< KeyPoint > &  keypoints,
const Mat mask = Mat() 
) const [protected, virtual]

Implements cv::FeatureDetector.

void cv::FeatureDetector::detect ( const Mat image,
vector< KeyPoint > &  keypoints,
const Mat mask = Mat() 
) const [inherited]
void cv::FeatureDetector::detect ( const vector< Mat > &  images,
vector< vector< KeyPoint > > &  keypoints,
const vector< Mat > &  masks = vector< Mat >() 
) const [inherited]
virtual void cv::FeatureDetector::read ( const FileNode ) [virtual, inherited]
virtual void cv::FeatureDetector::write ( FileStorage ) const [virtual, inherited]
static Ptr<FeatureDetector> cv::FeatureDetector::create ( const string &  detectorType) [static, inherited]

Reimplemented in cv::AdjusterAdapter.

static void cv::FeatureDetector::removeInvalidPoints ( const Mat mask,
vector< KeyPoint > &  keypoints 
) [static, protected, inherited]

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