21 #ifndef __Triangulation_hh__
22 #define __Triangulation_hh__
23 #include <bias_config.h>
28 #include <Base/Debug/Debug.hh>
29 #include <Base/Math/Matrix3x3.hh>
41 #define PARALLEL_THRESHOLD 1e-8
44 #define TRIANGULATION_DEFAULT_DELTAPIXEL 1.0
45 #define TRIANGULATION_DEFAULT_SIGMA 1.0
47 #define TRIANG_RES_PARALLEL -42
48 #define TRIANG_RES_BEHIND_CAMERA1 1
49 #define TRIANG_RES_BEHIND_CAMERA2 2
50 #define TRIANG_RES_BEHIND_CAMERA 42
56 class BIASGeometry_EXPORT
Pose;
63 template <
class T>
class BIASMathBase_EXPORT
Matrix4x4;
64 template <
class T>
class BIASGeometryBase_EXPORT
Quaternion;
65 template <
class T>
class BIASMathBase_EXPORT
Vector3;
170 int TriangulateLinear(std::vector<PMatrix> pmatrices,
171 std::vector<HomgPoint2D> homgPoints2D,
215 int Triangulate(
const Pose& P1,
const Pose& P2,
220 int Triangulate(
const Pose& P1,
const Pose& P2,
258 double& angle,
const double &triangdeltapixel =
259 TRIANGULATION_DEFAULT_DELTAPIXEL);
275 const double &triangdeltapixel =
276 TRIANGULATION_DEFAULT_DELTAPIXEL);
296 const double &triangdeltapixel =
297 TRIANGULATION_DEFAULT_DELTAPIXEL,
299 TRIANGULATION_DEFAULT_SIGMA);
335 #ifdef BIAS_TRIANG_DEBUG
336 void GetCovPoints(std::vector<HomgPoint3D>& pvec,
337 std::vector<double>& weight);
345 void _UpdateCovWeights(
const double &TriangDeltaPixels=
346 TRIANGULATION_DEFAULT_DELTAPIXEL,
348 TRIANGULATION_DEFAULT_SIGMA);
355 #ifdef BIAS_TRIANG_DEBUG
356 std::vector<HomgPoint3D> covpoints_;
357 std::vector<double> covweights_;
367 #endif // __Triangulation_hh__
double _dTriangDeltaPixels
value to go up/down/left/right for "manual" covariance computation
class HomgPoint2D describes a point with 2 degrees of freedom in projective coordinates.
class representing the covariance matrix of a homogenous point 2D
Class for triangulation of 3Dpoints from 2D matches. Covariance matrix (refering to an uncertainty el...
Represents 3d pose transformations, parametrized as Euclidean translation and unit quaternion orienta...
class representing a Fundamental matrix
Matrix3x3< double > cov_weights_
neighbourhood weights for covariance computation
class HomgPoint3D describes a point with 3 degrees of freedom in projective coordinates.
class Vector3 contains a Vector of fixed dim.
class representing the covariance matrix of a homogenous point 3D
is a 'fixed size' quadratic matrix of dim.
describes a projective 3D -> 2D mapping in homogenous coordinates
double _dTriangSigmaPixels
class for rotation with axis and angle
Camera parameters which define the mapping between rays in the camera coordinate system and pixels in...