2012-08-03 103 views
0

我目前正在研究使用SIFT算法進行最後一年大學項目的自動交通標誌檢測。我正在使用OpenCV,現在我已經達到了,直到找到圖像的描述符。我使用下面的代碼保存這個SIFT功能列表中,OpenCV代碼比較存儲在列表中的描述符與新圖像描述符

vector<Descriptor> m_keyDescs; 

m_keyDescs.push_back(Descriptor(descxi, descyi, fv)); 

現在我想使用這個功能以嶄新的形象來比較,我想認識新的圖像是否是同前圖像。但我不知道如何使用存儲在列表中的這些功能來識別新圖像。我如何檢索這個存儲列表並與圖像的新創建的描述符進行比較?

我很高興如果你可以幫助我,因爲我是OpenCV的新手。 :)

我已經定義的描述符類作爲,

class Descriptor 
{ 
public: 
float xi, yi;  
vector<double> fv; // Feature vector 

Descriptor() 
{ 
} 

Descriptor(float x, float y, vector<double> const& f) 
{ 
    xi = x; 
    yi = y; 
    fv = f; 
} 
}; 

謝謝您的關照......

回答

1

要匹配描述符,你需要一個DescriptorMatcher(如BruteForceMatcherin this example)。關於這些的更多文檔可以發現on OpenCV site here

+0

我希望這可以幫助。我對OpenCV一無所知,但我是這個網站的新手,我很快就需要點數來對問題進行投票;-) – user7610 2012-08-03 16:37:16