2016-05-13 30 views
2

我有一個圖像我(灰度)。我從此圖像中檢測並提取了SURF特徵:matchFeatures在比較相同圖像時不匹配所有功能。爲什麼?

poi = detectSURFFeatures(I); 
[features,validPoi] = extractFeatures(I,poi,'SURFSize',128); 

已找到373項特徵。但是,當我計算與自己匹配的功能數量時,並非所有功能都匹配:

indexPairs = matchFeatures(features,features); 

索引對僅返回365個匹配項。爲什麼?請注意,我只在三個圖像中找到了這個結果。對於其他兩幅圖像,matchFeatures會返回與extractFeatures相同數量的特徵。謝謝 !

回答

1

函數matchFeatures具有匹配的閾值參數MatchThresholdMaxRation,其通過例如規定最佳找到的匹配必須比第二最佳匹配好某個因子來拒絕可能的錯誤或模糊匹配。

即使圖像相同,也會出現這種情況。

+0

謝謝!但是,這是否會影響基於匹配特徵數目計算兩幅圖像之間的相似度?目前,我正在計算它是這樣的:nbmatch = size(indexPairs,1); minsize = min(size(features,1));相似度= nbmatch/minsize。這導致圖像自身的相似性度量低於1. – Julien

+0

@Julien當然可以,因爲這個公式中的相似度是匹配特徵的百分比。即使是相同的特徵,一些匹配可能仍然會被匹配算法拒絕。 – Maurits

+0

我認爲這是Lowe在他的論文中提出的相似度測量方法,但我當然應該重新閱讀本文......謝謝! – Julien

相關問題