Note
Detects corners using the FAST algorithm
void FAST
(InputArray image, vector<KeyPoint>& keypoints, int threshold, bool nonmaxSuppression=true )¶
void FASTX
(InputArray image, vector<KeyPoint>& keypoints, int threshold, bool nonmaxSuppression, int type)¶Parameters: |
|
---|
Detects corners using the FAST algorithm by [Rosten06].
[Rosten06] |
|
MSER
: public FeatureDetector
¶Maximally stable extremal region extractor.
class MSER : public CvMSERParams
{
public:
// default constructor
MSER();
// constructor that initializes all the algorithm parameters
MSER( int _delta, int _min_area, int _max_area,
float _max_variation, float _min_diversity,
int _max_evolution, double _area_threshold,
double _min_margin, int _edge_blur_size );
// runs the extractor on the specified image; returns the MSERs,
// each encoded as a contour (vector<Point>, see findContours)
// the optional mask marks the area where MSERs are searched for
void operator()( const Mat& image, vector<vector<Point> >& msers, const Mat& mask ) const;
};
The class encapsulates all the parameters of the MSER extraction algorithm (see http://en.wikipedia.org/wiki/Maximally_stable_extremal_regions). Also see http://code.opencv.org/projects/opencv/wiki/MSER for useful comments and parameters description.
Note
ORB
: public Feature2D
¶Class implementing the ORB (oriented BRIEF) keypoint detector and descriptor extractor, described in [RRKB11]. The algorithm uses FAST in pyramids to detect stable keypoints, selects the strongest features using FAST or Harris response, finds their orientation using first-order moments and computes the descriptors using BRIEF (where the coordinates of random point pairs (or k-tuples) are rotated according to the measured orientation).
[RRKB11] | Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski: ORB: An efficient alternative to SIFT or SURF. ICCV 2011: 2564-2571. |
The ORB constructor
ORB::
ORB
(int nfeatures=500, float scaleFactor=1.2f, int nlevels=8, int edgeThreshold=31, int firstLevel=0, int WTA_K=2, int scoreType=ORB::HARRIS_SCORE, int patchSize=31)¶Parameters: |
|
---|
Finds keypoints in an image and computes their descriptors
void ORB::
operator()
(InputArray image, InputArray mask, vector<KeyPoint>& keypoints, OutputArray descriptors, bool useProvidedKeypoints=false ) const
¶Parameters: |
|
---|
BRISK
: public Feature2D
¶Class implementing the BRISK keypoint detector and descriptor extractor, described in [LCS11].
[LCS11] | Stefan Leutenegger, Margarita Chli and Roland Siegwart: BRISK: Binary Robust Invariant Scalable Keypoints. ICCV 2011: 2548-2555. |
The BRISK constructor
BRISK::
BRISK
(int thresh=30, int octaves=3, float patternScale=1.0f)¶Parameters: |
|
---|
The BRISK constructor for a custom pattern
BRISK::
BRISK
(std::vector<float>& radiusList, std::vector<int>& numberList, float dMax=5.85f, float dMin=8.2f, std::vector<int> indexChange=std::vector<int>())¶Parameters: |
|
---|
Finds keypoints in an image and computes their descriptors
void BRISK::
operator()
(InputArray image, InputArray mask, vector<KeyPoint>& keypoints, OutputArray descriptors, bool useProvidedKeypoints=false ) const
¶Parameters: |
|
---|
FREAK
: public DescriptorExtractor
¶Class implementing the FREAK (Fast Retina Keypoint) keypoint descriptor, described in [AOV12]. The algorithm propose a novel keypoint descriptor inspired by the human visual system and more precisely the retina, coined Fast Retina Key- point (FREAK). A cascade of binary strings is computed by efficiently comparing image intensities over a retinal sampling pattern. FREAKs are in general faster to compute with lower memory load and also more robust than SIFT, SURF or BRISK. They are competitive alternatives to existing keypoints in particular for embedded applications.
[AOV12] |
|
Note
The FREAK constructor
FREAK::
FREAK
(bool orientationNormalized=true, bool scaleNormalized=true, float patternScale=22.0f, int nOctaves=4, const vector<int>& selectedPairs=vector<int>() )¶Parameters: |
|
---|
Select the 512 best description pair indexes from an input (grayscale) image set. FREAK is available with a set of pairs learned off-line. Researchers can run a training process to learn their own set of pair. For more details read section 4.2 in: A. Alahi, R. Ortiz, and P. Vandergheynst. FREAK: Fast Retina Keypoint. In IEEE Conference on Computer Vision and Pattern Recognition, 2012.
We notice that for keypoint matching applications, image content has little effect on the selected pairs unless very specific what does matter is the detector type (blobs, corners,...) and the options used (scale/rotation invariance,...). Reduce corrThresh if not enough pairs are selected (43 points –> 903 possible pairs)
vector<int> FREAK::
selectPairs
(const vector<Mat>& images, vector<vector<KeyPoint>>& keypoints, const double corrThresh=0.7, bool verbose=true)¶Parameters: |
|
---|