opencv中keypoint數據結構分析

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

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

class_id:當要對圖片進行分類時,咱們能夠用class_id對每一個特徵點進行區分,未設定時爲-1,須要靠本身設定算法

octave:表明是從金字塔哪一層提取的獲得的數據。數據結構

pt:關鍵點點的座標less

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,更確切的說,是該點角點的程度。瞬間明白。spa

size:該點直徑的大小htm

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

相關文章
相關標籤/搜索