README.md

ORB feature extractor library

Lightweight library for ORB(Oriented FAST and Rotated BRIEF) features extraction and matching.

feature_match

Main features are:

  • There is no OpenCV dependency.
  • Uses only Eigen 3 as a math backend.
  • Public interface based only on C++ data types.
  • Almost all algorithm parameters are dynamically configured.

Usage example:

  #include <orb-features/match.h>
  #include <orb-features/orb.h>

  using namespace orb_features;
  ...
  int width = 640;
  int height = 480;
  OrbSettings settings;
  settings.n_features = 25;
  ORB orb(height, width, settings);
  ...
  cv::Mat frame1;
  ...
  cv::cvtColor(frame1, gray, cv::COLOR_BGR2GRAY);
  DetectionResult result1 = orb.get_orb_features(gray.data);
  ...
  cv::Mat frame2;
  ...
  cv::cvtColor(frame2, gray, cv::COLOR_BGR2GRAY);
  DetectionResult result2 = orb.get_orb_features(gray.data);

  auto matches = get_matches(result1, result2);
  for (auto& match : matches) {
    auto& feature1 = result1.points[match.first];
    auto& feature2 = result2.points[match.second];
    ...
  }

For detailed example see cam_demo.cpp file.

The implementation is based on the following paper:

Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski: ORB: An efficient alternative to SIFT or SURF. ICCV 2011: 2564-2571.
Конвейеры
0 успешных
0 с ошибкой