opencv中keypoint數據結構分析


分析opencv中keypoint數據結構的相關信息,找到opencv的document(http://docs.opencv.org/java/org/opencv/features2d/KeyPoint.html)。可以看到KeyPoint這數據結構中有如下數據結構:

angle:角度,表示關鍵點的方向,通過Lowe大神的論文可以知道,為了保證方向不變形,SIFT算法通過對關鍵點周圍鄰域進行梯度運算,求得該點方向。-1為初值。

class_id:當要對圖片進行分類時,我們可以用class_id對每個特征點進行區分,未設定時為-1,需要靠自己設定

octave:代表是從金字塔哪一層提取的得到的數據。

pt:關鍵點點的坐標

response:響應程度,代表該點強壯大小,一開始我也理解不了,看到兩位stackoverflow大大的原話(http://stackoverflow.com/questions/10328298/what-does-size-and-response-exactly-represent-in-a-surf-keypointhttp://stackoverflow.com/questions/24699495/opencv-keypoints-response-greater-or-less?lq=1)——response代表着該關鍵點how good,更確切的說,是該點角點的程度。瞬間明白。

size:該點直徑的大小

注意一個問題:keypoint只是保存了opencv的sift庫檢測到的特征點的一些基本信息,也就上面所說的這些,但sift所提取出來的特征向量其實不是在這個里面,特征向量通過SiftDescriptorExtractor 提取,結果放在一個Mat的數據結構中。這個數據結構才真正保存了該特征點所對應的特征向量。具體見后文對SiftDescriptorExtractor 所生成的對象的詳解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM