25 #include "FMatrixBase.hh"
26 #include <Base/Common/W32Compat.hh>
27 #include "HomgPoint3D.hh"
28 #include "PMatrixBase.hh"
30 #include <Base/Common/BIASpragma.hh>
44 GetEpipolarLineImage1(point,homline);
51 const register FMATRIX_TYPE *matP = this->GetData();
52 homline[0] = point[0] * matP[0]
55 homline[1] = point[0] * matP[1]
58 homline[2] = point[0] * matP[2]
96 Compose(R1, C1, R2, C2);
101 BIASERR(
"Failed to invert K1!");
105 BIASERR(
"Failed to invert K2!");
109 tmp.
Mult(K1Inv, *
this);
~FMatrixBase()
destructor untested (04/18/2002)
HomgLine2D GetEpipolarLineImage2(const HomgPoint2D &point) const
Returns epipolar line in image 2 for point in image 1.
class HomgPoint2D describes a point with 2 degrees of freedom in projective coordinates.
HomgPoint2D & Homogenize()
homogenize class data member elements to W==1 by divison by W
void Mult(const Vector3< T > &argvec, Vector3< T > &destvec) const
matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: dest...
int GetInverse(Matrix3x3< T > &inv) const
Matrix inversion: inverts this and stores resulty in argument inv.
a line l = (a b c)^T is a form of the implicit straight line equation 0 = a*x + b*y + c if homogenize...
class HomgPoint3D describes a point with 3 degrees of freedom in projective coordinates.
describes a projective 3D -> 2D mapping in homogenous coordinates
HomgLine2D GetEpipolarLineImage1(const HomgPoint2D &point) const
Returns epipolar line in image 1 for point in image 2.
Matrix3x3< T > Transpose() const
returns transposed matrix tested 12.06.2002
K describes the mapping from world coordinates (wcs) to pixel coordinates (pcs).
void Compose(const KMatrix &K1, const RMatrixBase &R1, const Vector3< double > &C1, const KMatrix &K2, const RMatrixBase &R2, const Vector3< double > &C2)
constructs the FMatrix from image 1 to image 2 as K1 [e]_x R K2
Implements a 3D rotation matrix.
void SetAsCrossProductMatrix(const Vector3< T > &vec)
Sets matrix from vector as cross product matrix of this vector.