How Does OpenCV ORB Feature Detector Work?

后端 未结 1 1431
逝去的感伤
逝去的感伤 2020-12-07 11:33

I want to implement a feature-based alignment algorithm using the ORB feature detector and extractor.
So far, I extracted the features using ORB class from OpenCV

相关标签:
1条回答
  • 2020-12-07 12:28

    UPDATE: Now it is in the OpenCV documentation, here: http://opencv.itseez.com/modules/features2d/doc/feature_detection_and_description.html#orb

    A detailed description of the algorithm is found here: http://www.willowgarage.com/sites/default/files/orb_final.pdf


    It is not mentioned in OpenCV documentation but actually OpenCV has:

    Two types of descriptors:

    • float descriptors:
      • SIFT
      • SURF
    • uchar descriptors:
      • ORB
      • BRIEF

    And corresponding matchers:

    • for float descriptors:
      • FlannBased
      • BruteForce<L2<float> >
      • BruteForce<SL2<float> > //since 2.3.1
      • BruteForce<L1<float> >
    • for uchar descriptors:
      • BruteForce<Hamming>
      • BruteForce<HammingLUT>
      • FlannBased with LSH index //since 2.4.0

    So you need to modify your code to use for example BruteForce<Hamming> matcher for ORB descriptors. It is possible to use L2 or L1 distance for matching uchar descriptors but results will be incorrect and findHomography returns unsatisfactory results.

    0 讨论(0)
提交回复
热议问题