| OpenCV 4.3.0 Open Source Computer Vision

Public Types | Public Member Functions | Static Public Member Functions | List of all members
cv::AKAZE Class Referenceabstract
2D Features Framework » Feature Detection and Description

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

`#include <opencv2/features2d.hpp>`

Inheritance diagram for cv::AKAZE:

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

enum cv::AKAZE::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_type | Type of the extracted descriptor: DESCRIPTOR_KAZE, DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT.
  descriptor_size | Size of the descriptor in bits. 0 -> Full size
  descriptor_channels | Number of channels in the descriptor (1, 2, 3)
  threshold | Detector response threshold to accept point
  nOctaves | Maximum octave evolution of the image
  nOctaveLayers | Default number of sublevels per scale level
  diffusivity | Diffusivity 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:

- opencv2/features2d.hpp