Fork me on GitHub

Fast特征点的寻找和提取

一、基础

最初由RostenDrummond [Rosten06]提出的FAST(加速段测试的特征)特征检测算法是基于将点P与其包围圆内的点集的直接比较的思想。

基本思想是,如果附近的几个点与P类似,那么P将成为一个很好的关键点。PFAST算法的关键点候选者。 影响P分类的点的圈由p周围的圆确定。 在这种情况下,该圆上有16个像素,这里编号为0-15。

具体的算法在这里并没有说明。

二、函数

class cv::FastFeatureDetector : public cv::Feature2D {

public:

  enum {

    TYPE_5_8  = 0,                      //  8 points, requires 5 in a row

    TYPE_7_12 = 1,                      // 12 points, requires 7 in a row

    TYPE_9_16 = 2                       // 16 points, requires 9 in a row

  };

  static Ptr<FastFeatureDetector> create(

    int    threshold        = 10,       // 像素强度

    bool   nonmaxSupression = true,     // 打开或关闭得分较低的邻近点的抑制

    int    type             = TYPE_9_16 // 参数设置运算符的类型

  );

...

};

三、小结
fast算法本身基本上已经成为历史的一部分,这里只是作为简单的知识了解一下而已;但是图像处理的基本思路存在循环发展的情况,也就是经典的算法在新的运用场景下面会不断得到新的开发利用:比如fast,在ORB中得到了和Brief特征的结合,我们届时继续研究。





目前方向:图像处理,人工智能
posted @ 2017-09-15 13:27  jsxyhelu  阅读(1763)  评论(0编辑  收藏  举报