OpenCV  4.5.0
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 [6]. More...

#include <opencv2/features2d.hpp>

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

Public Types

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

Public Member Functions

virtual String getDefaultName () const CV_OVERRIDE
 
virtual int getDescriptorChannels () const =0
 
virtual int getDescriptorSize () const =0
 
virtual AKAZE::DescriptorType getDescriptorType () const =0
 
virtual KAZE::DiffusivityType 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 (AKAZE::DescriptorType dtype)=0
 
virtual void setDiffusivity (KAZE::DiffusivityType 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 CV_OVERRIDE
 Return true if detector object is empty. More...
 
void read (const String &fileName)
 
virtual void read (const FileNode &) CV_OVERRIDE
 Reads algorithm parameters from a file storage. More...
 
void write (const String &fileName) const
 
virtual void write (FileStorage &) const CV_OVERRIDE
 Stores algorithm parameters in a file storage. More...
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
- 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
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Static Public Member Functions

static Ptr< AKAZEcreate (AKAZE::DescriptorType descriptor_type=AKAZE::DESCRIPTOR_MLDB, int descriptor_size=0, int descriptor_channels=3, float threshold=0.001f, int nOctaves=4, int nOctaveLayers=4, KAZE::DiffusivityType 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 [6].

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

◆ DescriptorType

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 ( AKAZE::DescriptorType  descriptor_type = AKAZE::DESCRIPTOR_MLDB,
int  descriptor_size = 0,
int  descriptor_channels = 3,
float  threshold = 0.001f,
int  nOctaves = 4,
int  nOctaveLayers = 4,
KAZE::DiffusivityType  diffusivity = KAZE::DIFF_PM_G2 
)
static
Python:
retval=cv.AKAZE_create([, descriptor_type[, descriptor_size[, descriptor_channels[, threshold[, nOctaves[, nOctaveLayers[, diffusivity]]]]]]])

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
Python:
retval=cv.AKAZE.getDefaultName()

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
Python:
retval=cv.AKAZE.getDescriptorChannels()

◆ getDescriptorSize()

virtual int cv::AKAZE::getDescriptorSize ( ) const
pure virtual
Python:
retval=cv.AKAZE.getDescriptorSize()

◆ getDescriptorType()

virtual AKAZE::DescriptorType cv::AKAZE::getDescriptorType ( ) const
pure virtual
Python:
retval=cv.AKAZE.getDescriptorType()

◆ getDiffusivity()

virtual KAZE::DiffusivityType cv::AKAZE::getDiffusivity ( ) const
pure virtual
Python:
retval=cv.AKAZE.getDiffusivity()

◆ getNOctaveLayers()

virtual int cv::AKAZE::getNOctaveLayers ( ) const
pure virtual
Python:
retval=cv.AKAZE.getNOctaveLayers()

◆ getNOctaves()

virtual int cv::AKAZE::getNOctaves ( ) const
pure virtual
Python:
retval=cv.AKAZE.getNOctaves()

◆ getThreshold()

virtual double cv::AKAZE::getThreshold ( ) const
pure virtual
Python:
retval=cv.AKAZE.getThreshold()

◆ setDescriptorChannels()

virtual void cv::AKAZE::setDescriptorChannels ( int  dch)
pure virtual
Python:
None=cv.AKAZE.setDescriptorChannels(dch)

◆ setDescriptorSize()

virtual void cv::AKAZE::setDescriptorSize ( int  dsize)
pure virtual
Python:
None=cv.AKAZE.setDescriptorSize(dsize)

◆ setDescriptorType()

virtual void cv::AKAZE::setDescriptorType ( AKAZE::DescriptorType  dtype)
pure virtual
Python:
None=cv.AKAZE.setDescriptorType(dtype)

◆ setDiffusivity()

virtual void cv::AKAZE::setDiffusivity ( KAZE::DiffusivityType  diff)
pure virtual
Python:
None=cv.AKAZE.setDiffusivity(diff)

◆ setNOctaveLayers()

virtual void cv::AKAZE::setNOctaveLayers ( int  octaveLayers)
pure virtual
Python:
None=cv.AKAZE.setNOctaveLayers(octaveLayers)

◆ setNOctaves()

virtual void cv::AKAZE::setNOctaves ( int  octaves)
pure virtual
Python:
None=cv.AKAZE.setNOctaves(octaves)

◆ setThreshold()

virtual void cv::AKAZE::setThreshold ( double  threshold)
pure virtual
Python:
None=cv.AKAZE.setThreshold(threshold)

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