Feature Detection and Description

Overview

// classes

class cv::AKAZE;
class cv::AgastFeatureDetector;
class cv::BRISK;
class cv::FastFeatureDetector;
class cv::GFTTDetector;
class cv::KAZE;
class cv::MSER;
class cv::ORB;
class cv::SimpleBlobDetector;

// global functions

void
cv::AGAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression = true
    );

void
cv::AGAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression,
    int type
    );

void
cv::FAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression = true
    );

void
cv::FAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression,
    int type
    );

Detailed Documentation

Global Functions

void
cv::AGAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression = true
    )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void
cv::AGAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression,
    int type
    )

Detects corners using the AGAST algorithm.

For non-Intel platforms, there is a tree optimised variant of AGAST with same numerical results. The 32-bit binary tree tables were generated automatically from original code using perl script. The perl script and examples of tree generation are placed in features2d/doc folder. Detects corners using the AGAST algorithm by [52].

Parameters:

image grayscale image where keypoints (corners) are detected.
keypoints keypoints detected on the image.
threshold threshold on difference between intensity of the central pixel and pixels of a circle around this pixel.
nonmaxSuppression if true, non-maximum suppression is applied to detected corners (keypoints).
type one of the four neighborhoods as defined in the paper: AgastFeatureDetector::AGAST_5_8, AgastFeatureDetector::AGAST_7_12d, AgastFeatureDetector::AGAST_7_12s, AgastFeatureDetector::OAST_9_16
void
cv::FAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression = true
    )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void
cv::FAST(
    InputArray image,
    std::vector<KeyPoint>& keypoints,
    int threshold,
    bool nonmaxSuppression,
    int type
    )

Detects corners using the FAST algorithm.

Detects corners using the FAST algorithm by [71].

In Python API, types are given as cv2.FAST_FEATURE_DETECTOR_TYPE_5_8, cv2.FAST_FEATURE_DETECTOR_TYPE_7_12 and cv2.FAST_FEATURE_DETECTOR_TYPE_9_16. For corner detection, use cv2.FAST.detect() method.

Parameters:

image grayscale image where keypoints (corners) are detected.
keypoints keypoints detected on the image.
threshold threshold on difference between intensity of the central pixel and pixels of a circle around this pixel.
nonmaxSuppression if true, non-maximum suppression is applied to detected corners (keypoints).
type one of the three neighborhoods as defined in the paper: FastFeatureDetector::TYPE_9_16, FastFeatureDetector::TYPE_7_12, FastFeatureDetector::TYPE_5_8