:param _response: keypoint detector response on the keypoint (that is, strength of the keypoint)
:param _response: keypoint detector response on the keypoint (that is, strength of the keypoint)
:param _octave: pyramid octave in which the keypoint has been detected
:param _octave: pyramid octave in which the keypoint has been detected
:param _class_id: object id
:param _class_id: object id
...
@@ -309,7 +309,7 @@ Wrapping class for feature detection using the
...
@@ -309,7 +309,7 @@ Wrapping class for feature detection using the
protected:
protected:
...
...
};
};
DenseFeatureDetector
DenseFeatureDetector
--------------------
--------------------
...
@@ -317,18 +317,18 @@ DenseFeatureDetector
...
@@ -317,18 +317,18 @@ DenseFeatureDetector
Class for generation of image features which are distributed densely and regularly over the image. ::
Class for generation of image features which are distributed densely and regularly over the image. ::
class DenseFeatureDetector : public FeatureDetector
class DenseFeatureDetector : public FeatureDetector
{
{
public:
public:
DenseFeatureDetector( float initFeatureScale=1.f, int featureScaleLevels=1,
DenseFeatureDetector( float initFeatureScale=1.f, int featureScaleLevels=1,
float featureScaleMul=0.1f,
float featureScaleMul=0.1f,
int initXyStep=6, int initImgBound=0,
int initXyStep=6, int initImgBound=0,
bool varyXyStepWithScale=true,
bool varyXyStepWithScale=true,
bool varyImgBoundWithScale=false );
bool varyImgBoundWithScale=false );
protected:
protected:
...
...
};
};
The detector generates several levels (in the amount of ``featureScaleLevels``) of features. Features of each level are located in the nodes of a regular grid over the image (excluding the image boundary of given size). The level parameters (a feature scale, a node size, a size of boundary) are multiplied by ``featureScaleMul`` with level index growing depending on input flags, viz.:
The detector generates several levels (in the amount of ``featureScaleLevels``) of features. Features of each level are located in the nodes of a regular grid over the image (excluding the image boundary of given size). The level parameters (a feature scale, a node size, a size of boundary) are multiplied by ``featureScaleMul`` with level index growing depending on input flags, viz.:
* Feature scale is multiplied always.
* Feature scale is multiplied always.
...
@@ -380,11 +380,11 @@ Class for extracting blobs from an image. ::
...
@@ -380,11 +380,11 @@ Class for extracting blobs from an image. ::
The class implements a simple algorithm for extracting blobs from an image:
The class implements a simple algorithm for extracting blobs from an image:
#. Convert the source image to binary images by applying thresholding with several thresholds from ``minThreshold`` (inclusive) to ``maxThreshold`` (exclusive) with distance ``thresholdStep`` between neighboring thresholds.
#. Convert the source image to binary images by applying thresholding with several thresholds from ``minThreshold`` (inclusive) to ``maxThreshold`` (exclusive) with distance ``thresholdStep`` between neighboring thresholds.
#. Extract connected components from every binary image by :ocv:func:`findContours` and calculate their centers.
#. Extract connected components from every binary image by :ocv:func:`findContours` and calculate their centers.
#. Group centers from several binary images by their coordinates. Close centers form one group that corresponds to one blob, which is controlled by the ``minDistBetweenBlobs`` parameter.
#. Group centers from several binary images by their coordinates. Close centers form one group that corresponds to one blob, which is controlled by the ``minDistBetweenBlobs`` parameter.
#. From the groups, estimate final centers of blobs and their radiuses and return as locations and sizes of keypoints.
#. From the groups, estimate final centers of blobs and their radiuses and return as locations and sizes of keypoints.
...
@@ -468,7 +468,7 @@ panorama series.
...
@@ -468,7 +468,7 @@ panorama series.
``DynamicAdaptedFeatureDetector`` uses another detector, such as FAST or SURF, to do the dirty work,
``DynamicAdaptedFeatureDetector`` uses another detector, such as FAST or SURF, to do the dirty work,
with the help of ``AdjusterAdapter`` .
with the help of ``AdjusterAdapter`` .
If the detected number of features is not large enough,
If the detected number of features is not large enough,
``AdjusterAdapter`` adjusts the detection parameters so that the next detection
``AdjusterAdapter`` adjusts the detection parameters so that the next detection
results in a bigger or smaller number of features. This is repeated until either the number of desired features are found
results in a bigger or smaller number of features. This is repeated until either the number of desired features are found
or the parameters are maxed out.
or the parameters are maxed out.
...
@@ -500,14 +500,14 @@ The constructor
...
@@ -500,14 +500,14 @@ The constructor
:param max_features: Maximum desired number of features.
:param max_features: Maximum desired number of features.
:param max_iters: Maximum number of times to try adjusting the feature detector parameters. For :ocv:class:`FastAdjuster` , this number can be high, but with ``Star`` or ``Surf`` many iterations can be time-comsuming. At each iteration the detector is rerun.
:param max_iters: Maximum number of times to try adjusting the feature detector parameters. For :ocv:class:`FastAdjuster` , this number can be high, but with ``Star`` or ``Surf`` many iterations can be time-comsuming. At each iteration the detector is rerun.
AdjusterAdapter
AdjusterAdapter
---------------
---------------
.. ocv:class:: AdjusterAdapter
.. ocv:class:: AdjusterAdapter
Class providing an interface for adjusting parameters of a feature detector. This interface is used by :ocv:class:`DynamicAdaptedFeatureDetector` . It is a wrapper for :ocv:class:`FeatureDetector` that enables adjusting parameters after feature detection. ::
Class providing an interface for adjusting parameters of a feature detector. This interface is used by :ocv:class:`DynamicAdaptedFeatureDetector` . It is a wrapper for :ocv:class:`FeatureDetector` that enables adjusting parameters after feature detection. ::
class AdjusterAdapter: public FeatureDetector
class AdjusterAdapter: public FeatureDetector
{
{
public:
public:
...
@@ -562,7 +562,7 @@ Example: ::
...
@@ -562,7 +562,7 @@ Example: ::
AdjusterAdapter::good
AdjusterAdapter::good
-------------------------
-------------------------
Returns false if the detector parameters cannot be adjusted any more.
Returns false if the detector parameters cannot be adjusted any more.
@@ -10,7 +10,7 @@ The implemented stitching pipeline is very similar to the one proposed in [BL07]
...
@@ -10,7 +10,7 @@ The implemented stitching pipeline is very similar to the one proposed in [BL07]
.. image:: StitchingPipeline.jpg
.. image:: StitchingPipeline.jpg
References
References
----------
==========
.. [BL07] M. Brown and D. Lowe. Automatic Panoramic Image Stitching using Invariant Features. International Journal of Computer Vision, 74(1), pages 59-73, 2007.
.. [BL07] M. Brown and D. Lowe. Automatic Panoramic Image Stitching using Invariant Features. International Journal of Computer Vision, 74(1), pages 59-73, 2007.
@@ -204,6 +204,7 @@ Implementation of the camera parameters refinement algorithm which minimizes sum
...
@@ -204,6 +204,7 @@ Implementation of the camera parameters refinement algorithm which minimizes sum
detail::BundleAdjusterRay
detail::BundleAdjusterRay
-------------------------
-------------------------
.. ocv:class:: detail::BundleAdjusterRay
Implementation of the camera parameters refinement algorithm which minimizes sum of the distances between the rays passing through the camera center and a feature. ::
Implementation of the camera parameters refinement algorithm which minimizes sum of the distances between the rays passing through the camera center and a feature. ::