class cv::AKAZE
Overview
Class implementing the AKAZE keypoint detector and descriptor extractor, described in [1]. : More…
#include <features2d.hpp> class AKAZE: public cv::Feature2D { public: // enums enum { DESCRIPTOR_KAZE_UPRIGHT = 2, DESCRIPTOR_KAZE = 3, DESCRIPTOR_MLDB_UPRIGHT = 4, DESCRIPTOR_MLDB = 5, }; // methods static Ptr<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 ); 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; };
Inherited Members
public: // methods virtual void clear(); virtual bool empty() const; virtual String getDefaultName() const; virtual void read(const FileNode& fn); virtual void save(const String& filename) const; virtual void write(FileStorage& fs) const; template <typename _Tp> static Ptr<_Tp> load( const String& filename, const String& objname = String() ); template <typename _Tp> static Ptr<_Tp> loadFromString( const String& strModel, const String& objname = String() ); template <typename _Tp> static Ptr<_Tp> read(const FileNode& fn); virtual void compute( InputArray image, std::vector<KeyPoint>& keypoints, OutputArray descriptors ); 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() ); 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; void read(const String& fileName); virtual void read(const FileNode& fn); void write(const String& fileName) const; virtual void write(FileStorage& fs) const; protected: // methods void writeFormat(FileStorage& fs) const;
Detailed Documentation
Class implementing the AKAZE keypoint detector and descriptor extractor, described in [1]. :
AKAZE descriptors can only be used with KAZE or AKAZE keypoints. Try to avoid using extract and detect instead of operator() due to performance reasons. .. [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.
Enum Values
DESCRIPTOR_KAZE_UPRIGHT
Upright descriptors, not invariant to rotation.
DESCRIPTOR_MLDB_UPRIGHT
Upright descriptors, not invariant to rotation.
Methods
static Ptr<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 )
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 |