日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

特征描述子提取公用接口

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 特征描述子提取公用接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenCV封裝了一些特征描述子提取算法,使得用戶能夠解決該問題時候方便使用各種算法。這章用來計算的描述子提取被表達成一個高維空間的向量?vector.所有實現?vector?特征描述子子提取的部分繼承了?DescriptorExtractor?接口.

DescriptorExtractor

class?DescriptorExtractor

抽象基類 for 對圖像關鍵點計算特征描述子.

class CV_EXPORTS DescriptorExtractor { public:virtual ~DescriptorExtractor();void compute( const Mat& image, vector<KeyPoint>& keypoints,Mat& descriptors ) const;void compute( const vector<Mat>& images, vector<vector<KeyPoint> >& keypoints,vector<Mat>& descriptors ) const;virtual void read( const FileNode& );virtual void write( FileStorage& ) const;virtual int descriptorSize() const = 0;virtual int descriptorType() const = 0;static Ptr<DescriptorExtractor> create( const string& descriptorExtractorType );protected:... };

在這個接口中, 一個關鍵點的特征描述子可以被表達成密集(dense),固定維數的向量。 大部分特征描述子按照這種模式每隔固定個像素計算。特征描述子的集合被表達成?Mat?, 其中每一行是一個關鍵的特征描述子.

DescriptorExtractor::compute

根據檢測到的圖像(第一種情況)或者圖像集合(第二種情況)中的關鍵點(檢測子)計算描述子.

C++:?void?DescriptorExtractor::compute(const Mat&?image, vector<KeyPoint>&?keypoints, Mat&?descriptors)?const
C++:?void?DescriptorExtractor::compute(const vector<Mat>&?images, vector<vector<KeyPoint>>&?keypoints, vector<Mat>&?descriptors)?const
Parameters:
  • image?– 圖像.
  • images?– 圖像集.

:param keypoints:輸入的特征關鍵點. 不能被計算特征描述子的關鍵點被略過. 另外一些情況新的特征關鍵點增加進來, 比如:?SIFT?增加了幾個主方向上的特征關鍵點.

Parameters:
  • descriptors?– 計算特征描述子. In the second variant of the method?descriptors[i]?are descriptors computed for a?keypoints[i]`.?Row?``j?is the?keypoints(or?keypoints[i]) is the descriptor for keypoint?j-th keypoint.

DescriptorExtractor::read

從文件點中讀取特征描述子提取的對象.

C++:?void?DescriptorExtractor::read(const FileNode&?fn)
Parameters:
  • fn?– 讀取的文件點.

DescriptorExtractor::write

寫入特征描述子的提取的對象到文件.

C++:?void?DescriptorExtractor::write(FileStorage&?fs)?const
Parameters:
  • fs?– 寫入的文件.

DescriptorExtractor::create

根據名字創建特征描述子提取.

C++:?Ptr<DescriptorExtractor>?DescriptorExtractor::create(const string&?descriptorExtractorType)
Parameters:
  • descriptorExtractorType?– Descriptor extractor type.

現有實現支持以下幾個類型的特征描述子提取方法:

  • "SIFT"?–?SiftDescriptorExtractor
  • "SURF"?–?SurfDescriptorExtractor
  • "ORB"?–?OrbDescriptorExtractor
  • "BRIEF"?–?BriefDescriptorExtractor

A combined format is also supported: descriptor extractor adapter name (?"Opponent"?–?OpponentColorDescriptorExtractor?) + descriptor extractor name (see above), for example:?"OpponentSIFT"?.



總結

以上是生活随笔為你收集整理的特征描述子提取公用接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。