OpenCV  3.3.0-dev
Open Source Computer Vision
Public Types | Public Member Functions | Static Public Member Functions | List of all members
cv::AKAZE Class Referenceabstract

Class implementing the AKAZE keypoint detector and descriptor extractor, described in [ANB13]. More...

#include "features2d.hpp"

Inheritance diagram for cv::AKAZE:
cv::Feature2D cv::Algorithm

Public Types

enum  {
  DESCRIPTOR_KAZE_UPRIGHT = 2,
  DESCRIPTOR_KAZE = 3,
  DESCRIPTOR_MLDB_UPRIGHT = 4,
  DESCRIPTOR_MLDB = 5
}
 

Public Member Functions

virtual String getDefaultName () const
 
virtual int getDescriptorChannels () const =0
 
virtual int getDescriptorSize () const =0
 
virtual int getDescriptorType () const =0
 
virtual int getDiffusivity () const =0
 
virtual int getNOctaveLayers () const =0
 
virtual int getNOctaves () const =0
 
virtual double getThreshold () const =0
 
virtual void setDescriptorChannels (int dch)=0
 
virtual void setDescriptorSize (int dsize)=0
 
virtual void setDescriptorType (int dtype)=0
 
virtual void setDiffusivity (int diff)=0
 
virtual void setNOctaveLayers (int octaveLayers)=0
 
virtual void setNOctaves (int octaves)=0
 
virtual void setThreshold (double threshold)=0
 
- Public Member Functions inherited from cv::Feature2D
virtual ~Feature2D ()
 
virtual void compute (InputArray image, std::vector< KeyPoint > &keypoints, OutputArray descriptors)
 Computes the descriptors for a set of keypoints detected in an image (first variant) or image set (second variant). More...
 
virtual void compute (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, OutputArrayOfArrays descriptors)
 
virtual int defaultNorm () const
 
virtual int descriptorSize () const
 
virtual int descriptorType () const
 
virtual void detect (InputArray image, std::vector< KeyPoint > &keypoints, InputArray mask=noArray())
 Detects keypoints in an image (first variant) or image set (second variant). More...
 
virtual void detect (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, InputArrayOfArrays masks=noArray())
 
virtual void detectAndCompute (InputArray image, InputArray mask, std::vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false)
 
virtual bool empty () const
 Return true if detector object is empty. More...
 
void read (const String &fileName)
 
virtual void read (const FileNode &)
 Reads algorithm parameters from a file storage. More...
 
void write (const String &fileName) const
 
virtual void write (FileStorage &) const
 Stores algorithm parameters in a file storage. More...
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state. More...
 
virtual void save (const String &filename) const
 

Static Public Member Functions

static Ptr< AKAZEcreate (int descriptor_type=AKAZE::DESCRIPTOR_MLDB, int descriptor_size=0, int descriptor_channels=3, float threshold=0.001f, int nOctaves=4, int nOctaveLayers=4, int diffusivity=KAZE::DIFF_PM_G2)
 The AKAZE constructor. More...
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
 Loads algorithm from the file. More...
 
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String. More...
 
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
 Reads algorithm from the file node. More...
 

Additional Inherited Members

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

Detailed Description

Class implementing the AKAZE keypoint detector and descriptor extractor, described in [ANB13].

AKAZE descriptors can only be used with KAZE or AKAZE keypoints. This class is thread-safe.

Note
When you need descriptors use Feature2D::detectAndCompute, which provides better performance. When using Feature2D::detect followed by Feature2D::compute scale space pyramid is computed twice.
AKAZE implements T-API. When image is passed as UMat some parts of the algorithm will use OpenCL.
[ANB13] Fast Explicit Diffusion for Accelerated Features in Nonlinear Scale Spaces. Pablo F. Alcantarilla, Jesús Nuevo and Adrien Bartoli. In British Machine Vision Conference (BMVC), Bristol, UK, September 2013.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
DESCRIPTOR_KAZE_UPRIGHT 

Upright descriptors, not invariant to rotation.

DESCRIPTOR_KAZE 
DESCRIPTOR_MLDB_UPRIGHT 

Upright descriptors, not invariant to rotation.

DESCRIPTOR_MLDB 

Member Function Documentation

◆ create()

static Ptr<AKAZE> cv::AKAZE::create ( int  descriptor_type = AKAZE::DESCRIPTOR_MLDB,
int  descriptor_size = 0,
int  descriptor_channels = 3,
float  threshold = 0.001f,
int  nOctaves = 4,
int  nOctaveLayers = 4,
int  diffusivity = KAZE::DIFF_PM_G2 
)
static

The AKAZE constructor.

Parameters
descriptor_typeType of the extracted descriptor: DESCRIPTOR_KAZE, DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
descriptor_sizeSize of the descriptor in bits. 0 -> Full size
descriptor_channelsNumber of channels in the descriptor (1, 2, 3)
thresholdDetector response threshold to accept point
nOctavesMaximum octave evolution of the image
nOctaveLayersDefault number of sublevels per scale level
diffusivityDiffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or DIFF_CHARBONNIER

◆ getDefaultName()

virtual String cv::AKAZE::getDefaultName ( ) const
virtual

Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.

Reimplemented from cv::Feature2D.

◆ getDescriptorChannels()

virtual int cv::AKAZE::getDescriptorChannels ( ) const
pure virtual

◆ getDescriptorSize()

virtual int cv::AKAZE::getDescriptorSize ( ) const
pure virtual

◆ getDescriptorType()

virtual int cv::AKAZE::getDescriptorType ( ) const
pure virtual

◆ getDiffusivity()

virtual int cv::AKAZE::getDiffusivity ( ) const
pure virtual

◆ getNOctaveLayers()

virtual int cv::AKAZE::getNOctaveLayers ( ) const
pure virtual

◆ getNOctaves()

virtual int cv::AKAZE::getNOctaves ( ) const
pure virtual

◆ getThreshold()

virtual double cv::AKAZE::getThreshold ( ) const
pure virtual

◆ setDescriptorChannels()

virtual void cv::AKAZE::setDescriptorChannels ( int  dch)
pure virtual

◆ setDescriptorSize()

virtual void cv::AKAZE::setDescriptorSize ( int  dsize)
pure virtual

◆ setDescriptorType()

virtual void cv::AKAZE::setDescriptorType ( int  dtype)
pure virtual

◆ setDiffusivity()

virtual void cv::AKAZE::setDiffusivity ( int  diff)
pure virtual

◆ setNOctaveLayers()

virtual void cv::AKAZE::setNOctaveLayers ( int  octaveLayers)
pure virtual

◆ setNOctaves()

virtual void cv::AKAZE::setNOctaves ( int  octaves)
pure virtual

◆ setThreshold()

virtual void cv::AKAZE::setThreshold ( double  threshold)
pure virtual

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