OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::AKAZE Class Referenceabstract

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

#include <opencv2/features2d.hpp>

Collaboration 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 getMaxPoints () 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 setMaxPoints (int max_points)=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).
 
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).
 
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.
 
virtual void read (const FileNode &) CV_OVERRIDE
 Reads algorithm parameters from a file storage.
 
void read (const String &fileName)
 
void write (const Ptr< FileStorage > &fs, const String &name) const
 
void write (const String &fileName) const
 
virtual void write (FileStorage &) const CV_OVERRIDE
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
void write (FileStorage &fs, const String &name) const
 

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, int max_points=-1)
 The AKAZE constructor.
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

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 [10].

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,
int max_points = -1 )
static
Python:
cv.AKAZE.create([, descriptor_type[, descriptor_size[, descriptor_channels[, threshold[, nOctaves[, nOctaveLayers[, diffusivity[, max_points]]]]]]]]) -> retval
cv.AKAZE_create([, descriptor_type[, descriptor_size[, descriptor_channels[, threshold[, nOctaves[, nOctaveLayers[, diffusivity[, max_points]]]]]]]]) -> retval

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
max_pointsMaximum amount of returned points. In case if image contains more features, then the features with highest response are returned. Negative value means no limitation.

◆ getDefaultName()

virtual String cv::AKAZE::getDefaultName ( ) const
virtual
Python:
cv.AKAZE.getDefaultName() -> retval

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

◆ getDescriptorSize()

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

◆ getDescriptorType()

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

◆ getDiffusivity()

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

◆ getMaxPoints()

virtual int cv::AKAZE::getMaxPoints ( ) const
pure virtual
Python:
cv.AKAZE.getMaxPoints() -> retval

◆ getNOctaveLayers()

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

◆ getNOctaves()

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

◆ getThreshold()

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

◆ setDescriptorChannels()

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

◆ setDescriptorSize()

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

◆ setDescriptorType()

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

◆ setDiffusivity()

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

◆ setMaxPoints()

virtual void cv::AKAZE::setMaxPoints ( int max_points)
pure virtual
Python:
cv.AKAZE.setMaxPoints(max_points) -> None

◆ setNOctaveLayers()

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

◆ setNOctaves()

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

◆ setThreshold()

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

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