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

用於從影像中提取加速魯棒特徵的類 [21]更多...

#include <opencv2/xfeatures2d/nonfree.hpp>

cv::xfeatures2d::SURF 的協作圖

公共成員函式

String getDefaultName () const CV_OVERRIDE
 
virtual bool getExtended () const =0
 
virtual double getHessianThreshold () const =0
 
virtual int getNOctaveLayers () const =0
 
virtual int getNOctaves () const =0
 
virtual bool getUpright () const =0
 
virtual void setExtended (bool extended)=0
 
virtual void setHessianThreshold (double hessianThreshold)=0
 
virtual void setNOctaveLayers (int nOctaveLayers)=0
 
virtual void setNOctaves (int nOctaves)=0
 
virtual void setUpright (bool upright)=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< SURFcreate (double hessianThreshold=100, int nOctaves=4, int nOctaveLayers=3, bool extended=false, bool upright=false)
 
- 從 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
 

詳細描述

用於從影像中提取加速魯棒特徵的類 [21]

演算法引數

  • 成員 int extended
    • 0 表示應計算基本描述符(每個 64 個元素)
    • 1 表示應計算擴充套件描述符(每個 128 個元素)
  • 成員 int upright
    • 0 表示檢測器計算每個特徵的方向。
    • 1 表示不計算方向(這更快)。例如,如果您匹配立體影像對中的影像,或者進行影像拼接,則匹配的特徵可能具有非常相似的角度,並且您可以透過設定 upright=1 來加速特徵提取。
  • 成員 double hessianThreshold 關鍵點檢測器的閾值。只有 Hessian 大於 hessianThreshold 的特徵才會被檢測器保留。因此,值越大,您得到的關鍵點就越少。一個好的預設值可以是 300 到 500,具體取決於影像對比度。
  • 成員 int nOctaves 檢測器使用的高斯金字塔的八度音階的數量。預設設定為 4。如果您想獲得非常大的特徵,請使用較大的值。如果您只想獲得小特徵,請減少它。
  • 成員 int nOctaveLayers 高斯金字塔每個八度音階內的影像數量。預設設定為 2。
    注意
    • 可以在 opencv_source_code/samples/cpp/generic_descriptor_match.cpp 中找到使用 SURF 特徵檢測器的示例。
      • 可以在 opencv_source_code/samples/cpp/matcher_simple.cpp 中找到使用 SURF 特徵檢測器、提取器和匹配器的另一個示例。

成員函式文件

◆ create()

static Ptr< SURF > cv::xfeatures2d::SURF::create ( double hessianThreshold = 100,
int nOctaves = 4,
int nOctaveLayers = 3,
bool extended = false,
bool upright = false )
static
Python
cv.xfeatures2d.SURF.create([, hessianThreshold[, nOctaves[, nOctaveLayers[, extended[, upright]]]]]) -> retval
cv.xfeatures2d.SURF_create([, hessianThreshold[, nOctaves[, nOctaveLayers[, extended[, upright]]]]]) -> retval
引數
hessianThresholdHessian 關鍵點檢測器的閾值,用於 SURF 中。
nOctaves關鍵點檢測器將使用的金字塔八度數量。
nOctaveLayers每個八度內的八度層數量。
extended擴充套件描述符標誌(true - 使用擴充套件的 128 元素描述符;false - 使用 64 元素描述符)。
upright正立或旋轉特徵標誌(true - 不計算特徵方向;false - 計算方向)。

◆ getDefaultName()

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

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

cv::Feature2D 重新實現。

◆ getExtended()

virtual bool cv::xfeatures2d::SURF::getExtended ( ) const
純虛擬函式
Python
cv.xfeatures2d.SURF.getExtended() -> retval

◆ getHessianThreshold()

virtual double cv::xfeatures2d::SURF::getHessianThreshold ( ) const
純虛擬函式
Python
cv.xfeatures2d.SURF.getHessianThreshold() -> retval

◆ getNOctaveLayers()

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

◆ getNOctaves()

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

◆ getUpright()

virtual bool cv::xfeatures2d::SURF::getUpright ( ) const
純虛擬函式
Python
cv.xfeatures2d.SURF.getUpright() -> retval

◆ setExtended()

virtual void cv::xfeatures2d::SURF::setExtended ( bool extended)
純虛擬函式
Python
cv.xfeatures2d.SURF.setExtended(extended) ->

◆ setHessianThreshold()

virtual void cv::xfeatures2d::SURF::setHessianThreshold ( double hessianThreshold)
純虛擬函式
Python
cv.xfeatures2d.SURF.setHessianThreshold(hessianThreshold) ->

◆ setNOctaveLayers()

virtual void cv::xfeatures2d::SURF::setNOctaveLayers ( int nOctaveLayers)
純虛擬函式
Python
cv.xfeatures2d.SURF.setNOctaveLayers(nOctaveLayers) ->

◆ setNOctaves()

virtual void cv::xfeatures2d::SURF::setNOctaves ( int nOctaves)
純虛擬函式
Python
cv.xfeatures2d.SURF.setNOctaves(nOctaves) ->

◆ setUpright()

virtual void cv::xfeatures2d::SURF::setUpright ( bool upright)
純虛擬函式
Python
cv.xfeatures2d.SURF.setUpright(upright) ->

此類文件由以下檔案生成