Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
a7e7226a
Commit
a7e7226a
authored
Jan 26, 2012
by
Alexey Spizhevoy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated the stitching module docs
parent
196ac49f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
143 additions
and
17 deletions
+143
-17
matching.rst
modules/stitching/doc/matching.rst
+105
-8
motion_estimation.rst
modules/stitching/doc/motion_estimation.rst
+38
-7
motion_estimators.hpp
...ng/include/opencv2/stitching/detail/motion_estimators.hpp
+0
-2
No files found.
modules/stitching/doc/matching.rst
View file @
a7e7226a
...
@@ -35,6 +35,43 @@ Feature finders base class. ::
...
@@ -35,6 +35,43 @@ Feature finders base class. ::
virtual void find(const Mat &image, ImageFeatures &features) = 0;
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
detail::SurfFeaturesFinder
--------------------------
--------------------------
.. ocv:class:: detail::SurfFeaturesFinder
.. ocv:class:: detail::SurfFeaturesFinder
...
@@ -51,9 +88,7 @@ SURF features finder. ::
...
@@ -51,9 +88,7 @@ SURF features finder. ::
/* hidden */
/* hidden */
};
};
.. seealso::
.. seealso:: :ocv:class:`detail::FeaturesFinder`, :ocv:class:`SURF`
:ocv:class:`detail::FeaturesFinder`
:ocv:class:`SURF`
detail::OrbFeaturesFinder
detail::OrbFeaturesFinder
-------------------------
-------------------------
...
@@ -71,13 +106,11 @@ ORB features finder. ::
...
@@ -71,13 +106,11 @@ ORB features finder. ::
/* hidden */
/* hidden */
};
};
.. seealso::
.. seealso:: :ocv:class:`detail::FeaturesFinder`, :ocv:class:`ORB`
:ocv:class:`detail::FeaturesFinder`,
:ocv:class:`ORB`
detail::MatchesInfo
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. ::
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. ::
...
@@ -110,7 +143,7 @@ Feature matchers base class. ::
MatchesInfo& matches_info) { match(features1, features2, matches_info); }
MatchesInfo& matches_info) { match(features1, features2, matches_info); }
void operator ()(const std::vector<ImageFeatures> &features, std::vector<MatchesInfo> &pairwise_matches,
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_; }
bool isThreadSafe() const { return is_thread_safe_; }
...
@@ -125,6 +158,56 @@ Feature matchers base class. ::
...
@@ -125,6 +158,56 @@ Feature matchers base class. ::
bool is_thread_safe_;
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
detail::BestOf2NearestMatcher
-----------------------------
-----------------------------
.. ocv:class:: detail::BestOf2NearestMatcher
.. ocv:class:: detail::BestOf2NearestMatcher
...
@@ -149,3 +232,17 @@ Features matcher which finds two best matches for each feature and leaves the be
...
@@ -149,3 +232,17 @@ Features matcher which finds two best matches for each feature and leaves the be
.. seealso:: :ocv:class:`detail::FeaturesMatcher`
.. 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
modules/stitching/doc/motion_estimation.rst
View file @
a7e7226a
...
@@ -27,6 +27,32 @@ Rotation estimator base class. It takes features of all images, pairwise matches
...
@@ -27,6 +27,32 @@ Rotation estimator base class. It takes features of all images, pairwise matches
std::vector<CameraParams> &cameras) = 0;
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
detail::HomographyBasedEstimator
--------------------------------
--------------------------------
.. ocv:class:: detail::HomographyBasedEstimator
.. ocv:class:: detail::HomographyBasedEstimator
...
@@ -39,13 +65,8 @@ Homography based rotation estimator. ::
...
@@ -39,13 +65,8 @@ Homography based rotation estimator. ::
HomographyBasedEstimator(bool is_focals_estimated = false)
HomographyBasedEstimator(bool is_focals_estimated = false)
: is_focals_estimated_(is_focals_estimated) {}
: is_focals_estimated_(is_focals_estimated) {}
bool isFocalsEstimated() const { return is_focals_estimated_; }
private:
/* hidden */
private:
void estimate(const std::vector<ImageFeatures> &features, const std::vector<MatchesInfo> &pairwise_matches,
std::vector<CameraParams> &cameras);
bool is_focals_estimated_;
};
};
detail::BundleAdjusterBase
detail::BundleAdjusterBase
...
@@ -115,6 +136,16 @@ Base class for all camera parameters refinement methods. ::
...
@@ -115,6 +136,16 @@ Base class for all camera parameters refinement methods. ::
std::vector<std::pair<int,int> > edges_;
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
detail::BundleAdjusterReproj
----------------------------
----------------------------
...
...
modules/stitching/include/opencv2/stitching/detail/motion_estimators.hpp
View file @
a7e7226a
...
@@ -72,8 +72,6 @@ public:
...
@@ -72,8 +72,6 @@ public:
HomographyBasedEstimator
(
bool
is_focals_estimated
=
false
)
HomographyBasedEstimator
(
bool
is_focals_estimated
=
false
)
:
is_focals_estimated_
(
is_focals_estimated
)
{}
:
is_focals_estimated_
(
is_focals_estimated
)
{}
bool
isFocalsEstimated
()
const
{
return
is_focals_estimated_
;
}
private
:
private
:
void
estimate
(
const
std
::
vector
<
ImageFeatures
>
&
features
,
const
std
::
vector
<
MatchesInfo
>
&
pairwise_matches
,
void
estimate
(
const
std
::
vector
<
ImageFeatures
>
&
features
,
const
std
::
vector
<
MatchesInfo
>
&
pairwise_matches
,
std
::
vector
<
CameraParams
>
&
cameras
);
std
::
vector
<
CameraParams
>
&
cameras
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment