Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
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.

Public Types

typedef Algorithm *(* Constructor )(void)
 
typedef int(Algorithm::* Getter )() const
 
typedef void(Algorithm::* Setter )(int)
 

Public Member Functions

 DynamicAdaptedFeatureDetector (const Ptr< AdjusterAdapter > &adjuster, int min_features=400, int max_features=500, int max_iters=5)
 
virtual bool empty () const
 
CV_WRAP void detect (const Mat &image, CV_OUT 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
 
string name () const
 
template<typename _Tp >
ParamType< _Tp >::member_type get (const string &name) const
 
template<typename _Tp >
ParamType< _Tp >::member_type get (const char *name) const
 
CV_WRAP int getInt (const string &name) const
 
CV_WRAP double getDouble (const string &name) const
 
CV_WRAP bool getBool (const string &name) const
 
CV_WRAP string getString (const string &name) const
 
CV_WRAP Mat getMat (const string &name) const
 
CV_WRAP vector< MatgetMatVector (const string &name) const
 
CV_WRAP Ptr< AlgorithmgetAlgorithm (const string &name) const
 
void set (const string &name, int value)
 
void set (const string &name, double value)
 
void set (const string &name, bool value)
 
void set (const string &name, const string &value)
 
void set (const string &name, const Mat &value)
 
void set (const string &name, const vector< Mat > &value)
 
void set (const string &name, const Ptr< Algorithm > &value)
 
template<typename _Tp >
void set (const string &name, const Ptr< _Tp > &value)
 
void set (const char *name, int value)
 
void set (const char *name, double value)
 
void set (const char *name, bool value)
 
void set (const char *name, const string &value)
 
void set (const char *name, const Mat &value)
 
void set (const char *name, const vector< Mat > &value)
 
void set (const char *name, const Ptr< Algorithm > &value)
 
template<typename _Tp >
void set (const char *name, const Ptr< _Tp > &value)
 
CV_WRAP void setInt (const string &name, int value)
 
void setInt (const char *name, int value)
 
CV_WRAP void setDouble (const string &name, double value)
 
void setDouble (const char *name, double value)
 
CV_WRAP void setBool (const string &name, bool value)
 
void setBool (const char *name, bool value)
 
CV_WRAP void setString (const string &name, const string &value)
 
void setString (const char *name, const string &value)
 
CV_WRAP void setMat (const string &name, const Mat &value)
 
void setMat (const char *name, const Mat &value)
 
CV_WRAP void setMatVector (const string &name, const vector< Mat > &value)
 
void setMatVector (const char *name, const vector< Mat > &value)
 
CV_WRAP void setAlgorithm (const string &name, const Ptr< Algorithm > &value)
 
template<typename _Tp >
void setAlgorithm (const string &name, const Ptr< _Tp > &value)
 
void setAlgorithm (const char *name, const Ptr< Algorithm > &value)
 
template<typename _Tp >
void setAlgorithm (const char *name, const Ptr< _Tp > &value)
 
CV_WRAP string paramHelp (const string &name) const
 
int paramType (const char *name) const
 
CV_WRAP int paramType (const string &name) const
 
CV_WRAP void getParams (CV_OUT vector< string > &names) const
 
virtual void write (FileStorage &fs) const
 
virtual void read (const FileNode &fn)
 
virtual AlgorithmInfoinfo () const
 

Static Public Member Functions

static CV_WRAP Ptr
< FeatureDetector
create (const string &detectorType)
 
static CV_WRAP void getList (CV_OUT vector< string > &algorithms)
 
static CV_WRAP Ptr< Algorithm_create (const string &name)
 

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));

Member Typedef Documentation

typedef Algorithm*(* cv::Algorithm::Constructor)(void)
inherited
typedef int(Algorithm::* cv::Algorithm::Getter)() const
inherited
typedef void(Algorithm::* cv::Algorithm::Setter)(int)
inherited

Constructor & Destructor Documentation

cv::DynamicAdaptedFeatureDetector::DynamicAdaptedFeatureDetector ( const Ptr< AdjusterAdapter > &  adjuster,
int  min_features = 400,
int  max_features = 500,
int  max_iters = 5 
)
Parameters
adjusteran 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
protectedvirtual

Implements cv::FeatureDetector.

CV_WRAP void cv::FeatureDetector::detect ( const Mat image,
CV_OUT 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
static CV_WRAP Ptr<FeatureDetector> cv::FeatureDetector::create ( const string detectorType)
staticinherited
static void cv::FeatureDetector::removeInvalidPoints ( const Mat mask,
vector< KeyPoint > &  keypoints 
)
staticprotectedinherited
string cv::Algorithm::name ( ) const
inherited
template<typename _Tp >
ParamType< _Tp >::member_type cv::Algorithm::get ( const string name) const
inherited
template<typename _Tp >
ParamType< _Tp >::member_type cv::Algorithm::get ( const char *  name) const
inherited
CV_WRAP int cv::Algorithm::getInt ( const string name) const
inherited
CV_WRAP double cv::Algorithm::getDouble ( const string name) const
inherited
CV_WRAP bool cv::Algorithm::getBool ( const string name) const
inherited
CV_WRAP string cv::Algorithm::getString ( const string name) const
inherited
CV_WRAP Mat cv::Algorithm::getMat ( const string name) const
inherited
CV_WRAP vector<Mat> cv::Algorithm::getMatVector ( const string name) const
inherited
CV_WRAP Ptr<Algorithm> cv::Algorithm::getAlgorithm ( const string name) const
inherited
void cv::Algorithm::set ( const string name,
int  value 
)
inherited
void cv::Algorithm::set ( const string name,
double  value 
)
inherited
void cv::Algorithm::set ( const string name,
bool  value 
)
inherited
void cv::Algorithm::set ( const string name,
const string value 
)
inherited
void cv::Algorithm::set ( const string name,
const Mat value 
)
inherited
void cv::Algorithm::set ( const string name,
const vector< Mat > &  value 
)
inherited
void cv::Algorithm::set ( const string name,
const Ptr< Algorithm > &  value 
)
inherited
template<typename _Tp >
void cv::Algorithm::set ( const string name,
const Ptr< _Tp > &  value 
)
inherited
void cv::Algorithm::set ( const char *  name,
int  value 
)
inherited
void cv::Algorithm::set ( const char *  name,
double  value 
)
inherited
void cv::Algorithm::set ( const char *  name,
bool  value 
)
inherited
void cv::Algorithm::set ( const char *  name,
const string value 
)
inherited
void cv::Algorithm::set ( const char *  name,
const Mat value 
)
inherited
void cv::Algorithm::set ( const char *  name,
const vector< Mat > &  value 
)
inherited
void cv::Algorithm::set ( const char *  name,
const Ptr< Algorithm > &  value 
)
inherited
template<typename _Tp >
void cv::Algorithm::set ( const char *  name,
const Ptr< _Tp > &  value 
)
inherited
CV_WRAP void cv::Algorithm::setInt ( const string name,
int  value 
)
inherited
void cv::Algorithm::setInt ( const char *  name,
int  value 
)
inherited
CV_WRAP void cv::Algorithm::setDouble ( const string name,
double  value 
)
inherited
void cv::Algorithm::setDouble ( const char *  name,
double  value 
)
inherited
CV_WRAP void cv::Algorithm::setBool ( const string name,
bool  value 
)
inherited
void cv::Algorithm::setBool ( const char *  name,
bool  value 
)
inherited
CV_WRAP void cv::Algorithm::setString ( const string name,
const string value 
)
inherited
void cv::Algorithm::setString ( const char *  name,
const string value 
)
inherited
CV_WRAP void cv::Algorithm::setMat ( const string name,
const Mat value 
)
inherited
void cv::Algorithm::setMat ( const char *  name,
const Mat value 
)
inherited
CV_WRAP void cv::Algorithm::setMatVector ( const string name,
const vector< Mat > &  value 
)
inherited
void cv::Algorithm::setMatVector ( const char *  name,
const vector< Mat > &  value 
)
inherited
CV_WRAP void cv::Algorithm::setAlgorithm ( const string name,
const Ptr< Algorithm > &  value 
)
inherited
template<typename _Tp >
void cv::Algorithm::setAlgorithm ( const string name,
const Ptr< _Tp > &  value 
)
inherited
void cv::Algorithm::setAlgorithm ( const char *  name,
const Ptr< Algorithm > &  value 
)
inherited
template<typename _Tp >
void cv::Algorithm::setAlgorithm ( const char *  name,
const Ptr< _Tp > &  value 
)
inherited
CV_WRAP string cv::Algorithm::paramHelp ( const string name) const
inherited
int cv::Algorithm::paramType ( const char *  name) const
inherited
CV_WRAP int cv::Algorithm::paramType ( const string name) const
inherited
CV_WRAP void cv::Algorithm::getParams ( CV_OUT vector< string > &  names) const
inherited
virtual void cv::Algorithm::write ( FileStorage fs) const
virtualinherited
virtual void cv::Algorithm::read ( const FileNode fn)
virtualinherited
static CV_WRAP void cv::Algorithm::getList ( CV_OUT vector< string > &  algorithms)
staticinherited
static CV_WRAP Ptr<Algorithm> cv::Algorithm::_create ( const string name)
staticinherited
virtual AlgorithmInfo* cv::Algorithm::info ( ) const
virtualinherited

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