Detects corners using FAST algorithm by E. Rosten (''Machine learning for high-speed corner detection'', 2006).
Detects corners using the FAST algorithm by E. Rosten (*Machine learning for high-speed corner detection*, 2006).
:param image:The image. Keypoints (corners) will be detected on this.
:param image:Image where keypoints (corners) are detected.
:param keypoints:Keypoints detected on the image.
:param threshold:Threshold on difference between intensity of center pixel and
pixels on circle around this pixel. See description of the algorithm.
:param threshold:Threshold on difference between intensity of the central pixel and pixels on a circle around this pixel. See the algorithm description below.
:param nonmaxSupression:If it is true then non-maximum supression will be applied to detected corners (keypoints).
:param nonmaxSupression:If it is true, non-maximum supression is applied to detected corners (keypoints).
..index:: MSER
@ -28,7 +27,7 @@ MSER
----
..c:type:: MSER
Maximally-Stable Extremal Region Extractor ::
Maximally (or Most??) stable extremal region extractor ::
class MSER : public CvMSERParams
{
@ -46,8 +45,8 @@ Maximally-Stable Extremal Region Extractor ::
The class implements a modified version of CenSurE keypoint detector described in
Agrawal08
The class implements a modified version of the CenSurE keypoint detector described in
Agrawal08??.
..index:: SIFT
@ -96,7 +95,7 @@ SIFT
----
..c:type:: SIFT
Class for extracting keypoints and computing descriptors using approach named Scale Invariant Feature Transform (SIFT). ::
Class for extracting keypoints and computing descriptors using the Scale Invariant Feature Transform (SIFT) approach ::
class CV_EXPORTS SIFT
{
@ -160,7 +159,7 @@ Class for extracting keypoints and computing descriptors using approach named Sc
//! returns the descriptor size in floats (128)
int descriptorSize() const { return DescriptorParams::DESCRIPTOR_SIZE; }
//! finds the keypoints using SIFT algorithm
//! finds the keypoints using the SIFT algorithm
void operator()(const Mat& img, const Mat& mask,
vector<KeyPoint>& keypoints) const;
//! finds the keypoints and computes descriptors for them using SIFT algorithm.
@ -186,7 +185,7 @@ SURF
----
..c:type:: SURF
Class for extracting Speeded Up Robust Features from an image. ::
Class for extracting Speeded Up Robust Features from an image ::
class SURF : public CvSURFParams
{
@ -211,10 +210,10 @@ Class for extracting Speeded Up Robust Features from an image. ::
bool useProvidedKeypoints=false) const;
};
The class ``SURF``implements Speeded Up Robust Features descriptor Bay06.
There is fast multi-scale Hessian keypoint detector that can be used to find the keypoints
(which is the default option), but the descriptors can be also computed for the user-specified keypoints.
The function can be used for object tracking and localization, image stitching etc. See the ``find_obj.cpp`` demo in OpenCV samples directory.
The class implements the Speeded Up Robust Features descriptor Bay06.
There is a fast multi-scale Hessian keypoint detector that can be used to find keypoints
(which is the default option). But the descriptors can be also computed for the user-specified keypoints.
The function?? can be used for object tracking and localization, image stitching, and so on. See the ``find_obj.cpp`` demo in OpenCV samples directory.
..index:: RandomizedTree
@ -224,7 +223,7 @@ RandomizedTree
--------------
..c:type:: RandomizedTree
The class contains base structure for ``RTreeClassifier`` ::
Class containing a base structure for ``RTreeClassifier`` ::
class CV_EXPORTS RandomizedTree
{
@ -241,7 +240,7 @@ The class contains base structure for ``RTreeClassifier`` ::
RNG &rng, PatchGenerator &make_patch, int depth,
int views, size_t reduced_num_dim, int num_quant_bits);
// following two funcs are EXPERIMENTAL
// next two functions are EXPERIMENTAL
//(do not use unless you know exactly what you do)
static void quantizeVector(float *vec, int dim, int N, float bnds[2],
int clamp_mode=0);
@ -271,8 +270,8 @@ The class contains base structure for ``RTreeClassifier`` ::
The function is simular to getSignaturebut uses the threshold for removing all signature elements less than the threshold. So that the signature is compressed
Similarly to ``getSignaturebut`` , uses a threshold for removing all signature elements below the threshold so that the signature is compressed.??
{Image patch to calculate signature for}
{Output signature (array dimension is ``reduced_num_dim)``}
{The threshold that is used for compressing the signature}
{Image patch to calculate signature for}??
{Output signature (array dimension is ``reduced_num_dim)``}??
{The threshold that is used for compressing the signature}??
Applies quantization to the current randomized tree
Applies quantization to the current randomized tree.
{Number of bits are used for quantization}
{Number of bits are used for quantization}??
Below there is an example of ``RTreeClassifier``usage for feature matching. There are test and train images and we extract features from both with SURF. Output is
The example below demonstrates the usage of ``RTreeClassifier`` for feature matching. There are test and train images and features are extracted from both with SURF. Output is
:math:`best\_corr` and
:math:`best\_corr\_idx` arrays which keep the best probabilities and corresponding features indexes for every train feature. ::
:math:`best\_corr\_idx` arrays that keep the best probabilities and corresponding features indices for every train feature. ::