Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
cv::FREAK Class Reference

FREAK implementation. More...

#include <features2d.hpp>

Inherits cv::DescriptorExtractor.

Classes

struct  DescriptionPair
 
struct  OrientationPair
 
struct  PatternPoint
 

Public Types

enum  { NB_SCALES = 64, NB_PAIRS = 512, NB_ORIENPAIRS = 45 }
 
typedef Algorithm *(* Constructor )(void)
 
typedef int(Algorithm::* Getter )() const
 
typedef void(Algorithm::* Setter )(int)
 

Public Member Functions

 FREAK (bool orientationNormalized=true, bool scaleNormalized=true, float patternScale=22.0f, int nOctaves=4, const vector< int > &selectedPairs=vector< int >())
 
 FREAK (const FREAK &rhs)
 
FREAKoperator= (const FREAK &)
 
virtual ~FREAK ()
 
virtual int descriptorSize () const
 
virtual int descriptorType () const
 
vector< intselectPairs (const vector< Mat > &images, vector< vector< KeyPoint > > &keypoints, const double corrThresh=0.7, bool verbose=true)
 
AlgorithmInfoinfo () const
 
CV_WRAP 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 CV_WRAP bool empty () 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)
 

Static Public Member Functions

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

Protected Member Functions

virtual void computeImpl (const Mat &image, vector< KeyPoint > &keypoints, Mat &descriptors) const
 
void buildPattern ()
 
uchar meanIntensity (const Mat &image, const Mat &integral, const float kp_x, const float kp_y, const unsigned int scale, const unsigned int rot, const unsigned int point) const
 

Static Protected Member Functions

static void removeBorderKeypoints (vector< KeyPoint > &keypoints, Size imageSize, int borderSize)
 

Protected Attributes

bool orientationNormalized
 
bool scaleNormalized
 
double patternScale
 
int nOctaves
 
bool extAll
 
double patternScale0
 
int nOctaves0
 
vector< intselectedPairs0
 
vector< PatternPointpatternLookup
 
int patternSizes [NB_SCALES]
 
DescriptionPair descriptionPairs [NB_PAIRS]
 
OrientationPair orientationPairs [NB_ORIENPAIRS]
 

Detailed Description

FREAK implementation.

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

Member Enumeration Documentation

anonymous enum
Enumerator
NB_SCALES 
NB_PAIRS 
NB_ORIENPAIRS 

Constructor & Destructor Documentation

cv::FREAK::FREAK ( bool  orientationNormalized = true,
bool  scaleNormalized = true,
float  patternScale = 22.0f,
int  nOctaves = 4,
const vector< int > &  selectedPairs = vector< int >() 
)
explicit

Constructor

Parameters
orientationNormalizedenable orientation normalization
scaleNormalizedenable scale normalization
patternScalescaling of the description pattern
nbOctavenumber of octaves covered by the detected keypoints
selectedPairs(optional) user defined selected pairs
cv::FREAK::FREAK ( const FREAK rhs)
virtual cv::FREAK::~FREAK ( )
virtual

Member Function Documentation

FREAK& cv::FREAK::operator= ( const FREAK )
virtual int cv::FREAK::descriptorSize ( ) const
virtual

returns the descriptor length in bytes

Implements cv::DescriptorExtractor.

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

returns the descriptor type

Implements cv::DescriptorExtractor.

vector<int> cv::FREAK::selectPairs ( const vector< Mat > &  images,
vector< vector< KeyPoint > > &  keypoints,
const double  corrThresh = 0.7,
bool  verbose = true 
)

select the 512 "best description pairs"

Parameters
imagesgrayscale images set
keypointsset of detected keypoints
corrThreshcorrelation threshold
verboseprint construction information
Returns
list of best pair indexes
AlgorithmInfo* cv::FREAK::info ( ) const
virtual

Reimplemented from cv::Algorithm.

virtual void cv::FREAK::computeImpl ( const Mat image,
vector< KeyPoint > &  keypoints,
Mat descriptors 
) const
protectedvirtual
void cv::FREAK::buildPattern ( )
protected
uchar cv::FREAK::meanIntensity ( const Mat image,
const Mat integral,
const float  kp_x,
const float  kp_y,
const unsigned int  scale,
const unsigned int  rot,
const unsigned int  point 
) const
protected
CV_WRAP void cv::DescriptorExtractor::compute ( const Mat image,
CV_OUT CV_IN_OUT vector< KeyPoint > &  keypoints,
CV_OUT Mat descriptors 
) const
inherited
void cv::DescriptorExtractor::compute ( const vector< Mat > &  images,
vector< vector< KeyPoint > > &  keypoints,
vector< Mat > &  descriptors 
) const
inherited
virtual CV_WRAP bool cv::DescriptorExtractor::empty ( ) const
virtualinherited
static CV_WRAP Ptr<DescriptorExtractor> cv::DescriptorExtractor::create ( const string descriptorExtractorType)
staticinherited
static void cv::DescriptorExtractor::removeBorderKeypoints ( vector< KeyPoint > &  keypoints,
Size  imageSize,
int  borderSize 
)
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

Member Data Documentation

bool cv::FREAK::orientationNormalized
protected
bool cv::FREAK::scaleNormalized
protected
double cv::FREAK::patternScale
protected
int cv::FREAK::nOctaves
protected
bool cv::FREAK::extAll
protected
double cv::FREAK::patternScale0
protected
int cv::FREAK::nOctaves0
protected
vector<int> cv::FREAK::selectedPairs0
protected
vector<PatternPoint> cv::FREAK::patternLookup
protected
int cv::FREAK::patternSizes[NB_SCALES]
protected
DescriptionPair cv::FREAK::descriptionPairs[NB_PAIRS]
protected
OrientationPair cv::FREAK::orientationPairs[NB_ORIENPAIRS]
protected

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