OpenCV: Feature Detection and Description

| OpenCV 3.4.2 Open Source Computer Vision

Classes | Functions
Feature Detection and Description
2D Features Framework

## Classes
class | cv::AgastFeatureDetector
| Wrapping class for feature detection using the AGAST method. : More...
class | cv::AKAZE
| Class implementing the AKAZE keypoint detector and descriptor extractor, described in [1]. More...
class | cv::BRISK
| Class implementing the BRISK keypoint detector and descriptor extractor, described in [49] . More...
class | cv::FastFeatureDetector
| Wrapping class for feature detection using the FAST method. : More...
class | cv::GFTTDetector
| Wrapping class for feature detection using the goodFeaturesToTrack function. : More...
class | cv::KAZE
| Class implementing the KAZE keypoint detector and descriptor extractor, described in [2] . More...
class | cv::MSER
| Maximally stable extremal region extractor. More...
class | cv::ORB
| Class implementing the ORB (oriented BRIEF) keypoint detector and descriptor extractor. More...
class | cv::SimpleBlobDetector
| Class for extracting blobs from an image. : More...

## 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)
| Detects corners using the AGAST algorithm. More...
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)
| Detects corners using the FAST algorithm. More...

## Detailed Description

## Function Documentation

## ◆ AGAST() [1/2]

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.

## ◆ AGAST() [2/2]

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

Detects corners using the AGAST algorithm.

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

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 [57] .

## ◆ FAST() [1/2]

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.

## ◆ FAST() [2/2]

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

Detects corners using the FAST algorithm.

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

Detects corners using the FAST algorithm by [76] .

Note
  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.