![]() |
OpenCV 4.12.0
開源計算機視覺
|
用於匹配關鍵點描述符的抽象基類。 更多...
#include <opencv2/cudafeatures2d.hpp>
公共成員函式 | |
| virtual void | add (const std::vector< GpuMat > &descriptors)=0 |
| 向描述符集合新增描述符進行訓練。 | |
| virtual void | clear ()=0 |
| 清除訓練描述符集合。 | |
| virtual bool | empty () const =0 |
| 如果集合中沒有訓練描述符,則返回 true。 | |
| virtual const std::vector< GpuMat > & | getTrainDescriptors () const =0 |
| 返回訓練描述符集合的常量連結。 | |
| virtual bool | isMaskSupported () const =0 |
| 如果描述符匹配器支援遮罩允許的匹配,則返回 true。 | |
| virtual void | knnMatch (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< std::vector< DMatch > > &matches, int k, InputArray mask=noArray(), bool compactResult=false)=0 |
| 為查詢集中的每個描述符找到 k 個最佳匹配(阻塞版本)。 | |
| virtual void | knnMatch (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, int k, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), bool compactResult=false)=0 |
| virtual void | knnMatchAsync (InputArray queryDescriptors, InputArray trainDescriptors, OutputArray matches, int k, InputArray mask=noArray(), Stream &stream=Stream::Null())=0 |
| 為查詢集中的每個描述符找到 k 個最佳匹配(非同步版本)。 | |
| virtual void | knnMatchAsync (InputArray queryDescriptors, OutputArray matches, int k, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), Stream &stream=Stream::Null())=0 |
| virtual void | knnMatchConvert (InputArray gpu_matches, std::vector< std::vector< DMatch > > &matches, bool compactResult=false)=0 |
| 將匹配陣列從內部表示轉換為標準匹配向量。 | |
| virtual void | match (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< DMatch > &matches, InputArray mask=noArray())=0 |
| 為查詢集中的每個描述符找到最佳匹配(阻塞版本)。 | |
| virtual void | match (InputArray queryDescriptors, std::vector< DMatch > &matches, const std::vector< GpuMat > &masks=std::vector< GpuMat >())=0 |
| virtual void | matchAsync (InputArray queryDescriptors, InputArray trainDescriptors, OutputArray matches, InputArray mask=noArray(), Stream &stream=Stream::Null())=0 |
| 為查詢集中的每個描述符找到最佳匹配(非同步版本)。 | |
| virtual void | matchAsync (InputArray queryDescriptors, OutputArray matches, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), Stream &stream=Stream::Null())=0 |
| virtual void | matchConvert (InputArray gpu_matches, std::vector< DMatch > &matches)=0 |
| 將匹配陣列從內部表示轉換為標準匹配向量。 | |
| virtual void | radiusMatch (InputArray queryDescriptors, InputArray trainDescriptors, std::vector< std::vector< DMatch > > &matches, float maxDistance, InputArray mask=noArray(), bool compactResult=false)=0 |
| 對於每個查詢描述符,查詢距離不大於指定距離的訓練描述符(阻塞版本)。 | |
| virtual void | radiusMatch (InputArray queryDescriptors, std::vector< std::vector< DMatch > > &matches, float maxDistance, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), bool compactResult=false)=0 |
| virtual void | radiusMatchAsync (InputArray queryDescriptors, InputArray trainDescriptors, OutputArray matches, float maxDistance, InputArray mask=noArray(), Stream &stream=Stream::Null())=0 |
| 對於每個查詢描述符,查詢距離不大於指定距離的訓練描述符(非同步版本)。 | |
| virtual void | radiusMatchAsync (InputArray queryDescriptors, OutputArray matches, float maxDistance, const std::vector< GpuMat > &masks=std::vector< GpuMat >(), Stream &stream=Stream::Null())=0 |
| virtual void | radiusMatchConvert (InputArray gpu_matches, std::vector< std::vector< DMatch > > &matches, bool compactResult=false)=0 |
| 將匹配陣列從內部表示轉換為標準匹配向量。 | |
| virtual void | train ()=0 |
| 訓練描述符匹配器。 | |
公共成員函式 繼承自 cv::Algorithm | |
| Algorithm () | |
| virtual | ~Algorithm () |
| virtual String | getDefaultName () const |
| virtual void | read (const FileNode &fn) |
| 從檔案儲存中讀取演算法引數。 | |
| virtual void | save (const String &filename) const |
| void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
| virtual void | write (FileStorage &fs) const |
| 將演算法引數儲存到檔案儲存中。 | |
| void | write (FileStorage &fs, const String &name) const |
靜態公共成員函式 | |
| static Ptr< cuda::DescriptorMatcher > | createBFMatcher (int normType=cv::NORM_L2) |
| 暴力描述符匹配器。 | |
靜態公共成員函式 繼承自 cv::Algorithm | |
| 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) |
| 從檔案節點讀取演算法。 | |
額外繼承成員 | |
保護成員函式 繼承自 cv::Algorithm | |
| void | writeFormat (FileStorage &fs) const |
用於匹配關鍵點描述符的抽象基類。
它有兩組匹配方法:用於將一個影像的描述符與另一個影像或影像集進行匹配。
|
純虛擬函式 |
向描述符集合新增描述符進行訓練。
如果集合不為空,新描述符將被新增到現有訓練描述符中。
| descriptors | 要新增的描述符。每個 descriptors[i] 都是來自同一個訓練影像的描述符集。 |
|
純虛擬函式 |
清除訓練描述符集合。
重寫自 cv::Algorithm。
|
static |
|
純虛擬函式 |
如果集合中沒有訓練描述符,則返回 true。
重寫自 cv::Algorithm。
|
純虛擬函式 |
返回訓練描述符集合的常量連結。
|
純虛擬函式 |
如果描述符匹配器支援遮罩允許的匹配,則返回 true。
|
純虛擬函式 |
為查詢集中的每個描述符找到 k 個最佳匹配(阻塞版本)。
| queryDescriptors | 查詢描述符集。 |
| trainDescriptors | 訓練描述符集。此集不會新增到儲存在類物件中的訓練描述符集合中。 |
| matches | 匹配項。每個 matches[i] 是相同查詢描述符的 k 個或更少匹配項。 |
| k | 每個查詢描述符找到的最佳匹配計數,如果某個查詢描述符總共有少於 k 個可能的匹配,則計數會更少。 |
| mask | 指定輸入查詢和訓練描述符矩陣之間允許匹配的掩碼。 |
| compactResult | 當掩碼(或多個掩碼)不為空時使用的引數。如果 compactResult 為 false,則 matches 向量的大小與 queryDescriptors 的行數相同。如果 compactResult 為 true,則 matches 向量不包含完全被掩蓋的查詢描述符的匹配項。 |
DescriptorMatcher::match 方法的這些擴充套件變體為每個查詢描述符找到幾個最佳匹配。匹配按距離遞增順序返回。有關查詢和訓練描述符的詳細資訊,請參見 DescriptorMatcher::match。
|
純虛擬函式 |
這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於它接受的引數。
|
純虛擬函式 |
為查詢集中的每個描述符找到 k 個最佳匹配(非同步版本)。
| queryDescriptors | 查詢描述符集。 |
| trainDescriptors | 訓練描述符集。此集不會新增到儲存在類物件中的訓練描述符集合中。 |
| matches | 儲存在 GPU 記憶體中的匹配陣列。內部表示未定義。使用 DescriptorMatcher::knnMatchConvert 方法以標準表示檢索結果。 |
| k | 每個查詢描述符找到的最佳匹配計數,如果某個查詢描述符總共有少於 k 個可能的匹配,則計數會更少。 |
| mask | 指定輸入查詢和訓練描述符矩陣之間允許匹配的掩碼。 |
| 流 | CUDA 流。 |
DescriptorMatcher::matchAsync 方法的這些擴充套件變體為每個查詢描述符找到幾個最佳匹配。匹配按距離遞增順序返回。有關查詢和訓練描述符的詳細資訊,請參見 DescriptorMatcher::matchAsync。
|
純虛擬函式 |
這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於它接受的引數。
|
純虛擬函式 |
將匹配陣列從內部表示轉換為標準匹配向量。
此方法應與 DescriptorMatcher::knnMatchAsync 結合使用以獲取最終結果。僅在 DescriptorMatcher::knnMatchAsync 完成後(即同步後)呼叫此方法。
| gpu_matches | 匹配項,從 DescriptorMatcher::knnMatchAsync 返回。 |
| matches | DMatch 物件的向量。 |
| compactResult | 當掩碼(或多個掩碼)不為空時使用的引數。如果 compactResult 為 false,則 matches 向量的大小與 queryDescriptors 的行數相同。如果 compactResult 為 true,則 matches 向量不包含完全被掩蓋的查詢描述符的匹配項。 |
|
純虛擬函式 |
為查詢集中的每個描述符找到最佳匹配(阻塞版本)。
| queryDescriptors | 查詢描述符集。 |
| trainDescriptors | 訓練描述符集。此集不會新增到儲存在類物件中的訓練描述符集合中。 |
| matches | 匹配項。如果查詢描述符在掩碼中被掩蓋,則不會為該描述符新增匹配項。因此,matches 的大小可能小於查詢描述符的數量。 |
| mask | 指定輸入查詢和訓練描述符矩陣之間允許匹配的掩碼。 |
此方法的第一個變體中,訓練描述符作為輸入引數傳入。此方法的第二個變體中,使用 DescriptorMatcher::add 設定的訓練描述符集合。可以傳入可選掩碼(或多個掩碼)來指定哪些查詢和訓練描述符可以匹配。即,只有當 mask.at<uchar>(i,j) 非零時,queryDescriptors[i] 才能與 trainDescriptors[j] 匹配。
|
純虛擬函式 |
這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於它接受的引數。
|
純虛擬函式 |
為查詢集中的每個描述符找到最佳匹配(非同步版本)。
| queryDescriptors | 查詢描述符集。 |
| trainDescriptors | 訓練描述符集。此集不會新增到儲存在類物件中的訓練描述符集合中。 |
| matches | 儲存在 GPU 記憶體中的匹配陣列。內部表示未定義。使用 DescriptorMatcher::matchConvert 方法以標準表示檢索結果。 |
| mask | 指定輸入查詢和訓練描述符矩陣之間允許匹配的掩碼。 |
| 流 | CUDA 流。 |
此方法的第一個變體中,訓練描述符作為輸入引數傳入。此方法的第二個變體中,使用 DescriptorMatcher::add 設定的訓練描述符集合。可以傳入可選掩碼(或多個掩碼)來指定哪些查詢和訓練描述符可以匹配。即,只有當 mask.at<uchar>(i,j) 非零時,queryDescriptors[i] 才能與 trainDescriptors[j] 匹配。
|
純虛擬函式 |
這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於它接受的引數。
|
純虛擬函式 |
將匹配陣列從內部表示轉換為標準匹配向量。
此方法應與 DescriptorMatcher::matchAsync 結合使用以獲取最終結果。僅在 DescriptorMatcher::matchAsync 完成後(即同步後)呼叫此方法。
| gpu_matches | 匹配項,從 DescriptorMatcher::matchAsync 返回。 |
| matches | DMatch 物件的向量。 |
|
純虛擬函式 |
對於每個查詢描述符,查詢距離不大於指定距離的訓練描述符(阻塞版本)。
| queryDescriptors | 查詢描述符集。 |
| trainDescriptors | 訓練描述符集。此集不會新增到儲存在類物件中的訓練描述符集合中。 |
| matches | 找到的匹配項。 |
| maxDistance | 匹配描述符之間距離的閾值。此處距離指度量距離(例如 漢明 距離),而不是座標之間的距離(以畫素測量)! |
| mask | 指定輸入查詢和訓練描述符矩陣之間允許匹配的掩碼。 |
| compactResult | 當掩碼(或多個掩碼)不為空時使用的引數。如果 compactResult 為 false,則 matches 向量的大小與 queryDescriptors 的行數相同。如果 compactResult 為 true,則 matches 向量不包含完全被掩蓋的查詢描述符的匹配項。 |
對於每個查詢描述符,這些方法查詢距離查詢描述符不大於 maxDistance 的訓練描述符。找到的匹配項按距離遞增順序返回。
|
純虛擬函式 |
這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於它接受的引數。
|
純虛擬函式 |
對於每個查詢描述符,查詢距離不大於指定距離的訓練描述符(非同步版本)。
| queryDescriptors | 查詢描述符集。 |
| trainDescriptors | 訓練描述符集。此集不會新增到儲存在類物件中的訓練描述符集合中。 |
| matches | 儲存在 GPU 記憶體中的匹配陣列。內部表示未定義。使用 DescriptorMatcher::radiusMatchConvert 方法以標準表示檢索結果。 |
| maxDistance | 匹配描述符之間距離的閾值。此處距離指度量距離(例如 漢明 距離),而不是座標之間的距離(以畫素測量)! |
| mask | 指定輸入查詢和訓練描述符矩陣之間允許匹配的掩碼。 |
| 流 | CUDA 流。 |
對於每個查詢描述符,這些方法查詢距離查詢描述符不大於 maxDistance 的訓練描述符。找到的匹配項按距離遞增順序返回。
|
純虛擬函式 |
這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於它接受的引數。
|
純虛擬函式 |
將匹配陣列從內部表示轉換為標準匹配向量。
此方法應與 DescriptorMatcher::radiusMatchAsync 結合使用以獲取最終結果。僅在 DescriptorMatcher::radiusMatchAsync 完成後(即同步後)呼叫此方法。
| gpu_matches | 匹配項,從 DescriptorMatcher::radiusMatchAsync 返回。 |
| matches | DMatch 物件的向量。 |
| compactResult | 當掩碼(或多個掩碼)不為空時使用的引數。如果 compactResult 為 false,則 matches 向量的大小與 queryDescriptors 的行數相同。如果 compactResult 為 true,則 matches 向量不包含完全被掩蓋的查詢描述符的匹配項。 |
|
純虛擬函式 |
訓練描述符匹配器。
訓練描述符匹配器(例如,FLANN 索引)。在所有匹配方法中,每次匹配前都會執行 train() 方法。