FREAK描述符参数

时间:2013-03-05 23:43:18

标签: opencv

我对OpenCV 2.4.3中的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,匹配器将匹配每个点。 有谁知道为什么?

2 个答案:

答案 0 :(得分:3)

所以这里有一点关于FREAK构造函数的代码以及它如何在OpenCV自己的答案网站上使用patternScale参数:

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

结合this post关于“吃”关键点(类似于您正在经历的,似乎)

这似乎表明patternScale用于“扩展”原始模式的查找关键点。当它们缩放超过图像本身的大小时,它们就会从计算中删除。

答案 1 :(得分:2)

  

“patternScale”究竟意味着什么?

在找到的关键点周围,将构建一个模式来执行测试。如果您查看论文,您将看到这种人性化的模式。模式量表定义了这种模式的大小。

  

是否确定了FREAK中高斯核的内核大小?

是。我想是的。

您还可以查看source-code of OpenCV.