[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] tag/tag five_point.h helpers.h
From: |
Gerhard Reitmayr |
Subject: |
[Toon-members] tag/tag five_point.h helpers.h |
Date: |
Thu, 23 Apr 2009 12:07:45 +0000 |
CVSROOT: /cvsroot/toon
Module name: tag
Changes by: Gerhard Reitmayr <gerhard> 09/04/23 12:07:45
Modified files:
tag : five_point.h helpers.h
Log message:
doc updates, created an essential matrix tools group
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/tag/tag/five_point.h?cvsroot=toon&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/tag/tag/helpers.h?cvsroot=toon&r1=1.4&r2=1.5
Patches:
Index: five_point.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/five_point.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- five_point.h 23 Apr 2009 11:54:05 -0000 1.2
+++ five_point.h 23 Apr 2009 12:07:45 -0000 1.3
@@ -9,8 +9,21 @@
namespace tag {
+/// @defgroup essentialgroup Essential Matrix tools
+/// various functions dealing with essential matrices including 5 point
estimation after Nister,
+/// reconstruction of R,t from essential matrix after Horn, and construction
of E from R,t.
+
+
+/// @ingroup essentialgroup
std::vector<TooN::Matrix<3> >
five_point(std::tr1::array<std::pair<TooN::Vector<3>, TooN::Vector<3> >, 5>
points);
+/// reconstructs possible R,t from essential matrix E.
+/// The implementation follows the algorithm in
+/// Recovering Baseline and Orientation from 'Esssential' Matrix
+/// BKP Horn, Jan 1990
+/// @arg E essential matrix
+/// @return vector with 4 SE3s representing the possible transformations
+/// @ingroup essentialgroup
std::vector<TooN::SE3<> > se3_from_E( const TooN::Matrix<3> & E );
}
Index: helpers.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/helpers.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- helpers.h 22 Apr 2009 23:36:05 -0000 1.4
+++ helpers.h 23 Apr 2009 12:07:45 -0000 1.5
@@ -73,7 +73,7 @@
/// creates a cross product matrix M from a 3 vector v, such that for all
vectors w, the following holds: v ^ w = M * w
/// @param vec the 3 vector input
/// @param[out] result the 3x3 matrix to set to the cross product matrix
-/// @ingroup helpersgroup
+/// @ingroup essentialgroup
template<class V, class M > inline void getCrossProductMatrix( const V & vec,
M & result ){
assert(vec.size() == 3);
assert(result.num_cols() == 3 && result.num_rows() == 3);
@@ -85,7 +85,7 @@
/// creates an returns a cross product matrix M from a 3 vector v, such that
for all vectors w, the following holds: v ^ w = M * w
/// @param vec the 3 vector input
/// @return the 3x3 matrix to set to the cross product matrix
-/// @ingroup helpersgroup
+/// @ingroup essentialgroup
template<class V> inline TooN::Matrix<3> getCrossProductMatrix( const V & vec
){
TooN::Matrix<3> result;
getCrossProductMatrix(vec, result);
@@ -95,7 +95,7 @@
/// creates the essential matrix corresponding to a given transformation
/// @param transform the transformation as SE3
/// @param[out] E the 3x3 matrix set to the essential matrix
-/// @ingroup helpersgroup
+/// @ingroup essentialgroup
template<class M> inline void getEssentialMatrix(const TooN::SE3<> & transform
, M & E){
//assert(E.num_cols() == 3 && E.num_rows() == 3);
const TooN::Vector<3> & t = transform.get_translation();
@@ -108,7 +108,7 @@
/// creates and returns the essential matrix corresponding to a given
transformation
/// @param transform the transformation as SE3
/// @return the 3x3 matrix set to the essential matrix
-/// @ingroup helpersgroup
+/// @ingroup essentialgroup
inline TooN::Matrix<3> getEssentialMatrix(const TooN::SE3<> & transform ){
TooN::Matrix<3> E;
getEssentialMatrix(transform, E);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Toon-members] tag/tag five_point.h helpers.h,
Gerhard Reitmayr <=