OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::AKAZE 類參考抽象

實現 AKAZE 關鍵點檢測器和描述符提取器的類,在 [11] 中描述。 更多...

#include <opencv2/features2d.hpp>

cv::AKAZE 的協作圖

公共型別

列舉  描述符型別 {
  DESCRIPTOR_KAZE_UPRIGHT = 2 ,
  DESCRIPTOR_KAZE = 3 ,
  DESCRIPTOR_MLDB_UPRIGHT = 4 ,
  DESCRIPTOR_MLDB = 5
}
 

公共成員函式

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
 
- 繼承自 cv::Feature2D 的公共成員函式
virtual ~Feature2D ()
 
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 CV_OVERRIDE
 如果檢測器物件為空,則返回 true。
 
virtual void read (const FileNode &) CV_OVERRIDE
 從檔案儲存中讀取演算法引數。
 
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
 將演算法引數儲存到檔案儲存中。
 
void write (FileStorage &fs, const String &name) const
 
- 繼承自 cv::Algorithm 的公共成員函式
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除演算法狀態。
 
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 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)
 AKAZE 建構函式。
 
- 繼承自 cv::Algorithm 的靜態公共成員函式
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 從檔案中載入演算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 從字串載入演算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 從檔案節點讀取演算法。
 

其他繼承成員

- 繼承自 cv::Algorithm 的保護成員函式
void writeFormat (FileStorage &fs) const
 

詳細描述

實現 AKAZE 關鍵點檢測器和描述符提取器的類,在 [11] 中描述。

AKAZE 描述符只能與 KAZEAKAZE 關鍵點一起使用。此類是執行緒安全的。

注意
當您需要描述符時,請使用 Feature2D::detectAndCompute,它提供更好的效能。當使用 Feature2D::detect 後跟 Feature2D::compute 時,尺度空間金字塔會計算兩次。
AKAZE 實現了 T-API。當影像作為 UMat 傳入時,演算法的某些部分將使用 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.

成員列舉文件

◆ 描述符型別

列舉器
DESCRIPTOR_KAZE_UPRIGHT 

直立描述符,對旋轉不具有不變性。

DESCRIPTOR_KAZE 
DESCRIPTOR_MLDB_UPRIGHT 

直立描述符,對旋轉不具有不變性。

DESCRIPTOR_MLDB 

成員函式文件

◆ 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

AKAZE 建構函式。

引數
descriptor_type提取的描述符型別:DESCRIPTOR_KAZE, DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB 或 DESCRIPTOR_MLDB_UPRIGHT。
descriptor_size描述符的位元位大小。0 -> 完整大小
descriptor_channels描述符中的通道數 (1, 2, 3)
RANSAC引數。它是點到畫素中對極線的最大距離,超過此距離的點將被視為異常值,不用於計算最終的基本矩陣。它可以設定為1-3左右,具體取決於點定位的精度、影像解析度和影像噪聲。接受點的檢測器響應閾值
nOctaves影像的最大八度演變
nOctaveLayers每個尺度級別中的預設子級別數
擴散性擴散型別。DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT 或 DIFF_CHARBONNIER
max_points返回點的最大數量。如果影像包含更多特徵,則返回響應最高的特徵。負值表示沒有限制。

◆ getDefaultName()

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

返回演算法字串識別符號。當物件儲存到檔案或字串時,此字串用作頂層 xml/yml 節點標籤。

重寫自 cv::Feature2D

◆ getDescriptorChannels()

virtual int cv::AKAZE::getDescriptorChannels ( ) const
純虛擬函式
Python
cv.AKAZE.getDescriptorChannels() -> retval

◆ getDescriptorSize()

virtual int cv::AKAZE::getDescriptorSize ( ) const
純虛擬函式
Python
cv.AKAZE.getDescriptorSize() -> retval

◆ getDescriptorType()

virtual AKAZE::DescriptorType cv::AKAZE::getDescriptorType ( ) const
純虛擬函式
Python
cv.AKAZE.getDescriptorType() -> retval

◆ getDiffusivity()

virtual KAZE::DiffusivityType cv::AKAZE::getDiffusivity ( ) const
純虛擬函式
Python
cv.AKAZE.getDiffusivity() -> retval

◆ getMaxPoints()

virtual int cv::AKAZE::getMaxPoints ( ) const
純虛擬函式
Python
cv.AKAZE.getMaxPoints() -> retval

◆ getNOctaveLayers()

virtual int cv::AKAZE::getNOctaveLayers ( ) const
純虛擬函式
Python
cv.AKAZE.getNOctaveLayers() -> retval

◆ getNOctaves()

virtual int cv::AKAZE::getNOctaves ( ) const
純虛擬函式
Python
cv.AKAZE.getNOctaves() -> retval

◆ getThreshold()

virtual double cv::AKAZE::getThreshold ( ) const
純虛擬函式
Python
cv.AKAZE.getThreshold() -> retval

◆ setDescriptorChannels()

virtual void cv::AKAZE::setDescriptorChannels ( int dch)
純虛擬函式
Python
cv.AKAZE.setDescriptorChannels(dch) ->

◆ setDescriptorSize()

virtual void cv::AKAZE::setDescriptorSize ( int dsize)
純虛擬函式
Python
cv.AKAZE.setDescriptorSize(dsize) ->

◆ setDescriptorType()

virtual void cv::AKAZE::setDescriptorType ( AKAZE::DescriptorType dtype)
純虛擬函式
Python
cv.AKAZE.setDescriptorType(dtype) ->

◆ setDiffusivity()

virtual void cv::AKAZE::setDiffusivity ( KAZE::DiffusivityType diff)
純虛擬函式
Python
cv.AKAZE.setDiffusivity(diff) ->

◆ setMaxPoints()

virtual void cv::AKAZE::setMaxPoints ( int max_points)
純虛擬函式
Python
cv.AKAZE.setMaxPoints(max_points) ->

◆ setNOctaveLayers()

virtual void cv::AKAZE::setNOctaveLayers ( int octaveLayers)
純虛擬函式
Python
cv.AKAZE.setNOctaveLayers(octaveLayers) ->

◆ setNOctaves()

virtual void cv::AKAZE::setNOctaves ( int octaves)
純虛擬函式
Python
cv.AKAZE.setNOctaves(octaves) ->

◆ setThreshold()

virtual void cv::AKAZE::setThreshold ( double RANSAC引數。它是點到畫素中對極線的最大距離,超過此距離的點將被視為異常值,不用於計算最終的基本矩陣。它可以設定為1-3左右,具體取決於點定位的精度、影像解析度和影像噪聲。)
純虛擬函式
Python
cv.AKAZE.setThreshold(RANSAC引數。它是點到畫素中對極線的最大距離,超過此距離的點將被視為異常值,不用於計算最終的基本矩陣。它可以設定為1-3左右,具體取決於點定位的精度、影像解析度和影像噪聲。) ->

此類的文件由以下檔案生成