OpenCV  2.4.13.2
Open Source Computer Vision
cv::SURF Class Reference

#include <features2d.hpp>

Inheritance diagram for cv::SURF:
cv::Feature2D cv::FeatureDetector cv::DescriptorExtractor cv::Algorithm cv::Algorithm

Public Member Functions

 SURF ()
 the default constructor More...
 
 SURF (double hessianThreshold, int nOctaves=4, int nOctaveLayers=2, bool extended=true, bool upright=false)
 the full constructor taking all the necessary parameters More...
 
int descriptorSize () const
 returns the descriptor size in float's (64 or 128) More...
 
int descriptorType () const
 returns the descriptor type More...
 
void operator() (InputArray img, InputArray mask, CV_OUT vector< KeyPoint > &keypoints) const
 finds the keypoints using fast hessian detector used in SURF More...
 
void operator() (InputArray img, InputArray mask, CV_OUT vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false) const
 finds the keypoints and computes their descriptors. Optionally it can compute descriptors for the user-provided keypoints More...
 
AlgorithmInfoinfo () const
 
- Public Member Functions inherited from cv::Feature2D
void compute (const Mat &image, CV_OUT CV_IN_OUT std::vector< KeyPoint > &keypoints, CV_OUT Mat &descriptors) const
 
- Public Member Functions inherited from cv::FeatureDetector
virtual ~FeatureDetector ()
 
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
 
virtual bool empty () const
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
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
 
int getInt (const string &name) const
 
double getDouble (const string &name) const
 
bool getBool (const string &name) const
 
string getString (const string &name) const
 
Mat getMat (const string &name) const
 
vector< MatgetMatVector (const string &name) const
 
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 setInt (const string &name, int value)
 
void setDouble (const string &name, double value)
 
void setBool (const string &name, bool value)
 
void setString (const string &name, const string &value)
 
void setMat (const string &name, const Mat &value)
 
void setMatVector (const string &name, const vector< Mat > &value)
 
void setAlgorithm (const string &name, const Ptr< Algorithm > &value)
 
template<typename _Tp >
void setAlgorithm (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)
 
void setInt (const char *name, int value)
 
void setDouble (const char *name, double value)
 
void setBool (const char *name, bool value)
 
void setString (const char *name, const string &value)
 
void setMat (const char *name, const Mat &value)
 
void setMatVector (const char *name, const vector< Mat > &value)
 
void setAlgorithm (const char *name, const Ptr< Algorithm > &value)
 
template<typename _Tp >
void setAlgorithm (const char *name, const Ptr< _Tp > &value)
 
string paramHelp (const string &name) const
 
int paramType (const char *name) const
 
int paramType (const string &name) const
 
void getParams (CV_OUT vector< string > &names) const
 
virtual void write (FileStorage &fs) const
 
virtual void read (const FileNode &fn)
 
- Public Member Functions inherited from cv::DescriptorExtractor
virtual ~DescriptorExtractor ()
 
void compute (const Mat &image, CV_OUT CV_IN_OUT vector< KeyPoint > &keypoints, CV_OUT Mat &descriptors) const
 
void compute (const vector< Mat > &images, vector< vector< KeyPoint > > &keypoints, vector< Mat > &descriptors) const
 
virtual bool empty () const
 

Public Attributes

double hessianThreshold
 
int nOctaves
 
int nOctaveLayers
 
bool extended
 
bool upright
 

Protected Member Functions

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

Additional Inherited Members

- Public Types inherited from cv::Algorithm
typedef Algorithm *(* Constructor) (void)
 
typedef int(Algorithm::* Getter) () const
 
typedef void(Algorithm::* Setter) (int)
 
- Static Public Member Functions inherited from cv::Feature2D
static Ptr< Feature2Dcreate (const string &name)
 
- Static Public Member Functions inherited from cv::FeatureDetector
static Ptr< FeatureDetectorcreate (const string &detectorType)
 
- Static Public Member Functions inherited from cv::Algorithm
static void getList (CV_OUT vector< string > &algorithms)
 
static Ptr< Algorithm_create (const string &name)
 
template<typename _Tp >
static Ptr< _Tp > create (const string &name)
 
- Static Public Member Functions inherited from cv::DescriptorExtractor
static Ptr< DescriptorExtractorcreate (const string &descriptorExtractorType)
 
- Static Protected Member Functions inherited from cv::FeatureDetector
static void removeInvalidPoints (const Mat &mask, vector< KeyPoint > &keypoints)
 
- Static Protected Member Functions inherited from cv::DescriptorExtractor
static void removeBorderKeypoints (vector< KeyPoint > &keypoints, Size imageSize, int borderSize)
 

Detailed Description

SURF implementation.

The class implements SURF algorithm by H. Bay et al.

Constructor & Destructor Documentation

§ SURF() [1/2]

cv::SURF::SURF ( )

the default constructor

§ SURF() [2/2]

cv::SURF::SURF ( double  hessianThreshold,
int  nOctaves = 4,
int  nOctaveLayers = 2,
bool  extended = true,
bool  upright = false 
)
explicit

the full constructor taking all the necessary parameters

Member Function Documentation

§ computeImpl()

void cv::SURF::computeImpl ( const Mat image,
vector< KeyPoint > &  keypoints,
Mat descriptors 
) const
protectedvirtual

§ descriptorSize()

int cv::SURF::descriptorSize ( ) const
virtual

returns the descriptor size in float's (64 or 128)

Implements cv::DescriptorExtractor.

§ descriptorType()

int cv::SURF::descriptorType ( ) const
virtual

returns the descriptor type

Implements cv::DescriptorExtractor.

§ detectImpl()

void cv::SURF::detectImpl ( const Mat image,
vector< KeyPoint > &  keypoints,
const Mat mask = Mat() 
) const
protectedvirtual

Implements cv::FeatureDetector.

§ info()

AlgorithmInfo* cv::SURF::info ( ) const
virtual

Reimplemented from cv::Algorithm.

§ operator()() [1/2]

void cv::SURF::operator() ( InputArray  img,
InputArray  mask,
CV_OUT vector< KeyPoint > &  keypoints 
) const

finds the keypoints using fast hessian detector used in SURF

§ operator()() [2/2]

void cv::SURF::operator() ( InputArray  img,
InputArray  mask,
CV_OUT vector< KeyPoint > &  keypoints,
OutputArray  descriptors,
bool  useProvidedKeypoints = false 
) const
virtual

finds the keypoints and computes their descriptors. Optionally it can compute descriptors for the user-provided keypoints

Implements cv::Feature2D.

Member Data Documentation

§ extended

bool cv::SURF::extended

§ hessianThreshold

double cv::SURF::hessianThreshold

§ nOctaveLayers

int cv::SURF::nOctaveLayers

§ nOctaves

int cv::SURF::nOctaves

§ upright

bool cv::SURF::upright

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