提交 a7e7226a 编写于 作者: A Alexey Spizhevoy

Updated the stitching module docs

上级 196ac49f
......@@ -35,6 +35,43 @@ Feature finders base class. ::
virtual void find(const Mat &image, ImageFeatures &features) = 0;
};
detail::FeaturesFinder::operator()
----------------------------------
Finds features in the given image.
.. ocv:function:: void detail::FeaturesFinder::operator ()(const Mat &image, ImageFeatures &features)
.. ocv:function:: void detail::FeaturesFinder::operator ()(const Mat &image, ImageFeatures &features, const std::vector<cv::Rect> &rois)
:param image: Source image
:param features: Found features
:param rois: Regions of interest
.. seealso:: :ocv:struct:`detail::ImageFeatures`, :ocv:class:`Rect_`
detail::FeaturesFinder::collectGarbage
--------------------------------------
Frees unused memory allocated before if there is any.
.. ocv:function:: void detail::FeaturesFinder::collectGarbage()
detail::FeaturesFinder::find
----------------------------
This method must implement features finding logic in order to make the wrappers `detail::FeaturesFinder::operator()`_ work.
.. ocv:function:: void find(const Mat &image, ImageFeatures &features)
:param image: Source image
:param features: Found features
.. seealso:: :ocv:struct:`detail::ImageFeatures`
detail::SurfFeaturesFinder
--------------------------
.. ocv:class:: detail::SurfFeaturesFinder
......@@ -51,9 +88,7 @@ SURF features finder. ::
/* hidden */
};
.. seealso::
:ocv:class:`detail::FeaturesFinder`
:ocv:class:`SURF`
.. seealso:: :ocv:class:`detail::FeaturesFinder`, :ocv:class:`SURF`
detail::OrbFeaturesFinder
-------------------------
......@@ -71,13 +106,11 @@ ORB features finder. ::
/* hidden */
};
.. seealso::
:ocv:class:`detail::FeaturesFinder`,
:ocv:class:`ORB`
.. seealso:: :ocv:class:`detail::FeaturesFinder`, :ocv:class:`ORB`
detail::MatchesInfo
-------------------
.. ocv:struct: detail::MatchesInfo
.. ocv:struct:: detail::MatchesInfo
Structure containing information about matches between two images. It's assumed that there is a homography between those images. ::
......@@ -110,7 +143,7 @@ Feature matchers base class. ::
MatchesInfo& matches_info) { match(features1, features2, matches_info); }
void operator ()(const std::vector<ImageFeatures> &features, std::vector<MatchesInfo> &pairwise_matches,
const cv::Mat &mask = cv::Mat());
const Mat &mask = cv::Mat());
bool isThreadSafe() const { return is_thread_safe_; }
......@@ -125,6 +158,56 @@ Feature matchers base class. ::
bool is_thread_safe_;
};
detail::FeaturesMatcher::operator()
-----------------------------------
Performs images matching.
.. ocv:function:: void detail::FeaturesMatcher::operator ()(const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo& matches_info)
:param features1: First image features
:param features2: Second image features
:param matches_info: Found matches
.. ocv:function:: void detail::FeaturesMatcher::operator ()(const std::vector<ImageFeatures> &features, std::vector<MatchesInfo> &pairwise_matches, const Mat &mask)
:param features: Features of the source images
:param pairwise_matches: Found pairwise matches
:param mask: Mask indicating which image pairs must be matched
.. seealso:: :ocv:struct:`detail::MatchesInfo`
detail::FeaturesMatcher::isThreadSafe
-------------------------------------
.. ocv:function:: bool detail::FeaturesMatcher::isThreadSafe() const
:return: True, if it's possible to use the same matcher instance in parallel, false otherwise
detail::FeaturesMatcher::collectGarbage
---------------------------------------
Frees unused memory allocated before if there is any.
.. ocv:function:: void detail::FeaturesMatcher::collectGarbage()
detail::FeaturesMatcher::match
------------------------------
This method must implement matching logic in order to make the wrappers `detail::FeaturesMatcher::operator()`_ work.
.. ocv:function:: void detail::FeaturesMatcher::match(const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo& matches_info)
:param features1: First image features
:param features2: Second image features
:param matches_info: Found matches
detail::BestOf2NearestMatcher
-----------------------------
.. ocv:class:: detail::BestOf2NearestMatcher
......@@ -149,3 +232,17 @@ Features matcher which finds two best matches for each feature and leaves the be
.. seealso:: :ocv:class:`detail::FeaturesMatcher`
detail::BestOf2NearestMatcher::BestOf2NearestMatcher
----------------------------------------------------
Constructs a "best of 2 nearest" matcher.
.. ocv:function:: detail::BestOf2NearestMatcher::BestOf2NearestMatcher(bool try_use_gpu = false, float match_conf = 0.65f, int num_matches_thresh1 = 6, int num_matches_thresh2 = 6)
:param try_use_gpu: Should try to use GPU or not
:param match_conf: Match distances ration threshold
:param num_matches_thresh1: Minimum number of matches required for the 2D projective transform estimation used in the inliers classification step
:param num_matches_thresh1: Minimum number of matches required for the 2D projective transform re-estimation on inliers
......@@ -27,6 +27,32 @@ Rotation estimator base class. It takes features of all images, pairwise matches
std::vector<CameraParams> &cameras) = 0;
};
detail::Estimator::operator()
-----------------------------
Estimates camera parameters.
.. ocv:function:: detail::Estimator::operator ()(const std::vector<ImageFeatures> &features, const std::vector<MatchesInfo> &pairwise_matches, std::vector<CameraParams> &cameras)
:param features: Features of images
:param pairwise_matches: Pairwise matches of images
:param cameras: Estimated camera parameters
detail::Estimator::estimate
---------------------------
This method must implement camera parameters estimation logic in order to make the wrapper `detail::Estimator::operator()`_ work.
.. ocv:function:: void detail::Estimator::estimate(const std::vector<ImageFeatures> &features, const std::vector<MatchesInfo> &pairwise_matches, std::vector<CameraParams> &cameras)
:param features: Features of images
:param pairwise_matches: Pairwise matches of images
:param cameras: Estimated camera parameters
detail::HomographyBasedEstimator
--------------------------------
.. ocv:class:: detail::HomographyBasedEstimator
......@@ -39,13 +65,8 @@ Homography based rotation estimator. ::
HomographyBasedEstimator(bool is_focals_estimated = false)
: is_focals_estimated_(is_focals_estimated) {}
bool isFocalsEstimated() const { return is_focals_estimated_; }
private:
void estimate(const std::vector<ImageFeatures> &features, const std::vector<MatchesInfo> &pairwise_matches,
std::vector<CameraParams> &cameras);
bool is_focals_estimated_;
private:
/* hidden */
};
detail::BundleAdjusterBase
......@@ -115,6 +136,16 @@ Base class for all camera parameters refinement methods. ::
std::vector<std::pair<int,int> > edges_;
};
detail::BundleAdjusterBase::BundleAdjusterBase
----------------------------------------------
Construct a bundle adjuster base instance.
.. ocv:function:: detail::BundleAdjusterBase::BundleAdjusterBase(int num_params_per_cam, int num_errs_per_measurement)
:param num_params_per_cam: Number of parameters per camera
:param num_errs_per_measurement: Number of error terms (components) per match
detail::BundleAdjusterReproj
----------------------------
......
......@@ -72,8 +72,6 @@ public:
HomographyBasedEstimator(bool is_focals_estimated = false)
: is_focals_estimated_(is_focals_estimated) {}
bool isFocalsEstimated() const { return is_focals_estimated_; }
private:
void estimate(const std::vector<ImageFeatures> &features, const std::vector<MatchesInfo> &pairwise_matches,
std::vector<CameraParams> &cameras);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册