OpenCV 4.10.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
Feature Detection and Description

Detailed Description

Classes

struct  cv::Accumulator< T >
 
struct  cv::Accumulator< char >
 
struct  cv::Accumulator< short >
 
struct  cv::Accumulator< unsigned char >
 
struct  cv::Accumulator< unsigned short >
 
class  cv::AffineFeature
 Class for implementing the wrapper which makes detectors and extractors to be affine invariant, described as ASIFT in [312] . More...
 
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 [10]. More...
 
class  cv::BRISK
 Class implementing the BRISK keypoint detector and descriptor extractor, described in [159] . More...
 
class  cv::FastFeatureDetector
 Wrapping class for feature detection using the FAST method. : More...
 
class  cv::Feature2D
 Abstract base class for 2D image feature detectors and descriptor extractors. 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 [9] . More...
 
class  cv::KeyPointsFilter
 A class filters a vector of keypoints. More...
 
struct  cv::L1< T >
 
struct  cv::L2< T >
 
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::SIFT
 Class for extracting keypoints and computing descriptors using the Scale Invariant Feature Transform (SIFT) algorithm by D. Lowe [174] . More...
 
class  cv::SimpleBlobDetector
 Class for extracting blobs from an image. : More...
 
struct  cv::SL2< T >
 

Typedefs

typedef AffineFeature cv::AffineDescriptorExtractor
 
typedef AffineFeature cv::AffineFeatureDetector
 
typedef Feature2D cv::DescriptorExtractor
 
typedef Feature2D cv::FeatureDetector
 
typedef SIFT cv::SiftDescriptorExtractor
 
typedef SIFT cv::SiftFeatureDetector
 

Functions

void cv::AGAST (InputArray image, std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression, AgastFeatureDetector::DetectorType type)
 Detects corners using the AGAST algorithm.
 
void cv::AGAST (InputArray image, std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression=true)
 
void cv::computeRecallPrecisionCurve (const std::vector< std::vector< DMatch > > &matches1to2, const std::vector< std::vector< uchar > > &correctMatches1to2Mask, std::vector< Point2f > &recallPrecisionCurve)
 
void cv::evaluateFeatureDetector (const Mat &img1, const Mat &img2, const Mat &H1to2, std::vector< KeyPoint > *keypoints1, std::vector< KeyPoint > *keypoints2, float &repeatability, int &correspCount, const Ptr< FeatureDetector > &fdetector=Ptr< FeatureDetector >())
 
void cv::FAST (InputArray image, std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression, FastFeatureDetector::DetectorType type)
 Detects corners using the FAST algorithm.
 
void cv::FAST (InputArray image, std::vector< KeyPoint > &keypoints, int threshold, bool nonmaxSuppression=true)
 
int cv::getNearestPoint (const std::vector< Point2f > &recallPrecisionCurve, float l_precision)
 
float cv::getRecall (const std::vector< Point2f > &recallPrecisionCurve, float l_precision)
 

Typedef Documentation

◆ AffineDescriptorExtractor

◆ AffineFeatureDetector

◆ DescriptorExtractor

#include <opencv2/features2d.hpp>

Extractors of keypoint descriptors in OpenCV have wrappers with a common interface that enables you to easily switch between different algorithms solving the same problem. This section is devoted to computing descriptors represented as vectors in a multidimensional space. All objects that implement the vector descriptor extractors inherit the DescriptorExtractor interface.

◆ FeatureDetector

#include <opencv2/features2d.hpp>

Feature detectors in OpenCV have wrappers with a common interface that enables you to easily switch between different algorithms solving the same problem. All objects that implement keypoint detectors inherit the FeatureDetector interface.

◆ SiftDescriptorExtractor

◆ SiftFeatureDetector

Function Documentation

◆ AGAST() [1/2]

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

#include <opencv2/features2d.hpp>

Detects corners using the AGAST algorithm.

Parameters
imagegrayscale image where keypoints (corners) are detected.
keypointskeypoints detected on the image.
thresholdthreshold on difference between intensity of the central pixel and pixels of a circle around this pixel.
nonmaxSuppressionif true, non-maximum suppression is applied to detected corners (keypoints).
typeone 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 [180] .

◆ AGAST() [2/2]

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

#include <opencv2/features2d.hpp>

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

◆ computeRecallPrecisionCurve()

void cv::computeRecallPrecisionCurve ( const std::vector< std::vector< DMatch > > & matches1to2,
const std::vector< std::vector< uchar > > & correctMatches1to2Mask,
std::vector< Point2f > & recallPrecisionCurve )

◆ evaluateFeatureDetector()

void cv::evaluateFeatureDetector ( const Mat & img1,
const Mat & img2,
const Mat & H1to2,
std::vector< KeyPoint > * keypoints1,
std::vector< KeyPoint > * keypoints2,
float & repeatability,
int & correspCount,
const Ptr< FeatureDetector > & fdetector = PtrFeatureDetector >() )

◆ FAST() [1/2]

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

#include <opencv2/features2d.hpp>

Detects corners using the FAST algorithm.

Parameters
imagegrayscale image where keypoints (corners) are detected.
keypointskeypoints detected on the image.
thresholdthreshold on difference between intensity of the central pixel and pixels of a circle around this pixel.
nonmaxSuppressionif true, non-maximum suppression is applied to detected corners (keypoints).
typeone 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 [228] .

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

◆ FAST() [2/2]

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

#include <opencv2/features2d.hpp>

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

◆ getNearestPoint()

int cv::getNearestPoint ( const std::vector< Point2f > & recallPrecisionCurve,
float l_precision )

◆ getRecall()

float cv::getRecall ( const std::vector< Point2f > & recallPrecisionCurve,
float l_precision )