2013-03-05 112 views
3

我有一個關於OpenCV 2.4.3中的FREAK函數的問題。在FREAK的定義中,它說:FREAK描述符參數

FREAK(bool orientationNormalized = true, 
     bool scaleNormalized = true, 
     float patternScale = 22.0f, 
     int nOctaves = 4, 
     const vector<int>& selectedPairs = vector<int>()); 

「patternScale」是什麼意思?在FREAK論文中我找不到有關「比例尺」的任何內容。如何確定FREAK中的高斯核的大小? 我在問這個,因爲BruteForce Matcher的匹配對取決於參數「patternScale」。

如果我將它作爲默認值,匹配器會錯過幾個關鍵點,但它們不匹配。但是,如果我將其更改爲1.0,則匹配器會匹配每個點。 有沒有人知道爲什麼?

回答

3

所以這裏有一個小洞察周圍的FREAK構造函數的代碼以及它如何使用在OpenCV的自己的答案站點patternScale參數:

http://answers.opencv.org/question/5360/freaks-patternscale-parameter-tuning/

this post有關「吃」的關鍵點相結合(類似於看起來是什麼)

這似乎表明patternScale用於「放大」原始模式的查找關鍵點。當它們超過圖像本身的大小時,它們就會從計算中刪除。

2

「patternScale」是什麼意思?

圍繞找到的關鍵點,將構建一個模式來執行測試。如果你看看這篇論文,你會看到這種人性化的模式。 patterncale定義這個模式有多大。

是否確定了FREAK中高斯的內核大小?

是的。我會這樣想的。

另外你可以看看source-code of OpenCV.