4

我需要实时进行对象识别(图像来自摄像机 USB)

有没有办法告诉

SurfFeatureDetector.detect(); 

提取更少的关键点?

4

2 回答 2

4

通过修改阈值,您可以以某种方式控制关键点的数量。无论如何,这不是直接控制关键点的最大数量。

如果您希望它最多停止,则必须进入 .cpp 中的算法(不可调试)并在循环中设置条件。我使用 OpenCV 中的一些算法来实现这一点,以获得计算效率。问题是您需要复制代码并粘贴到您自己的类中才能进行修改,并且它会产生一些链接问题,直到您正确完成所有操作。d

于 2012-09-12T09:39:25.017 回答
2

这是SurfFeatureDetector 的构造函数。使用构造函数,您可以使用 3 个基本参数减少关键点的数量:

  • hessianThreshold: 增加这个
  • octaves: 减少这个
  • octavelayers: 减少这个

我不知道 SURF 实现的细节,但是这个 SO 答案指向解释整个算法的文档,因此您可以选择如何更改这些算法。

作为直接研究实现的替代方法,我发现Find-Object对于试验许多特征检测算法设置非常有用。

于 2012-06-21T10:14:18.540 回答