Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
BIAS::FMatrixBase Class Reference

describes the epipolar relationship between a point and his mapping on a corresponding epipolar line. More...

#include <Base/Geometry/FMatrixBase.hh>

+ Inheritance diagram for BIAS::FMatrixBase:
+ Collaboration diagram for BIAS::FMatrixBase:

Public Member Functions

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 More...
 
void Compose (const RMatrixBase &R1, const Vector3< double > &C1, const RMatrixBase &R2, const Vector3< double > &C2)
 constructs the FMatrix from image 1 to image 2 as [e]_x R, assumes K1=K2=Identity() More...
 
 FMatrixBase ()
 default constructor untested (04/18/2002) More...
 
 FMatrixBase (const MatrixInitType &i)
 constructor setting identity or zero More...
 
 FMatrixBase (const Matrix3x3< FMATRIX_TYPE > &A)
 
 FMatrixBase (const FMATRIX_TYPE *d)
 constructor for convenience to build form a c-style aaray amtrix More...
 
 FMatrixBase (const Vector3< FMATRIX_TYPE > &epipole, const RMatrixBase &R)
 see Set(Vector3<FMATRIX_TYPE>& epipole, RMatixBase& R); More...
 
 FMatrixBase (const Vector3< FMATRIX_TYPE > &epipole, const Vector3< FMATRIX_TYPE > &EulerAngXYZ)
 see Set(Vector3<FMATRIX_TYPE>& epipole, Vector3<FMATRIX_TYPE>& EulerAngXYZ); More...
 
void GetAbsMaxMin (FMATRIX_TYPE &max, FMATRIX_TYPE &min) const
 
void GetColumn (const unsigned int col, Vector3< FMATRIX_TYPE > &r) const
 extract one column ('Spalte') from this matrix (for convenience) More...
 
BIAS::Vector3< FMATRIX_TYPE > GetColumn (const unsigned int col) const
 
double GetCosAngleErrorHomogenized (const BIAS::HomgPoint2D &p1, const BIAS::HomgPoint2D &p2)
 returns the cosine of the angle bewteen epipolar line and match line More...
 
FMATRIX_TYPE * GetData ()
 
const FMATRIX_TYPE * GetData () const
 
FMATRIX_TYPE GetDeterminant () const
 returns the Determinant |A| of this More...
 
double GetEpipolarError (BIAS::HomgPoint2D &P1, BIAS::HomgPoint2D &P2)
 computes error in epipolar geometry for the given correspondence P1,P2 using above function after homogenizing the points More...
 
double GetEpipolarErrorHomogenized (const BIAS::HomgPoint2D &P1, const BIAS::HomgPoint2D &P2) const
 computes error in epipolar geometry for the given correspondence P1;P2 More...
 
HomgLine2D GetEpipolarLineImage1 (const HomgPoint2D &point) const
 Returns epipolar line in image 1 for point in image 2. More...
 
void GetEpipolarLineImage1 (const HomgPoint2D &point, HomgLine2D &homline) const
 Returns epipolar line in image 1 for point in image 2. More...
 
HomgLine2D GetEpipolarLineImage2 (const HomgPoint2D &point) const
 Returns epipolar line in image 2 for point in image 1. More...
 
void GetEpipolarLineImage2 (const HomgPoint2D &point, HomgLine2D &homline) const
 Returns epipolar line in image 2 for point in image 1. More...
 
int GetInverse (Matrix3x3< FMATRIX_TYPE > &inv) const
 Matrix inversion: inverts this and stores resulty in argument inv. More...
 
FMATRIX_TYPE GetMax () const
 
void GetMaxMin (FMATRIX_TYPE &max, FMATRIX_TYPE &min) const
 return biggest and smallest entry More...
 
FMATRIX_TYPE GetMin () const
 
unsigned GetNumElements () const
 
void GetRow (const unsigned int row, Vector3< FMATRIX_TYPE > &r) const
 extract one row ('Zeile') from ths matrix (for convenience) More...
 
Vector3< FMATRIX_TYPE > GetRow (const unsigned int row) const
 
int InvertIP ()
 In place matrix conversion. More...
 
bool IsIdentity (const FMATRIX_TYPEeps=std::numeric_limits< FMATRIX_TYPE >::epsilon()) const
 
bool IsZero (const FMATRIX_TYPEeps=std::numeric_limits< FMATRIX_TYPE >::epsilon()) const
 
bool Load (const std::string &fname)
 
void MakeSymmetric ()
 
void Mult (const Vector3< FMATRIX_TYPE > &argvec, Vector3< FMATRIX_TYPE > &destvec) const
 matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: destvec = (this Matrix) * argvec More...
 
void Mult (const Matrix3x3< FMATRIX_TYPE > &argmat, Matrix3x3< FMATRIX_TYPE > &destmat) const
 matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat More...
 
void Mult (const Matrix3x4< FMATRIX_TYPE > &argmat, Matrix3x4< FMATRIX_TYPE > &destmat) const
 
FMATRIX_TYPE Normalize ()
 divide this by biggest absolute entry, returns biggest entry More...
 
double NormFrobenius () const
 
FMATRIX_TYPE NormL1 () const
 
double NormL2 () const
 
bool operator!= (const Matrix3x3< FMATRIX_TYPE > &arg) const
 
Matrix3x3< FMATRIX_TYPE > & operator*= (const Matrix3x3< FMATRIX_TYPE > &arg)
 woelk 11/2007 (c) www.vision-n.de More...
 
Matrix3x3< FMATRIX_TYPE > & operator*= (const FMATRIX_TYPE &arg)
 woelk 11/2007 (c) www.vision-n.de More...
 
Matrix3x3< FMATRIX_TYPE > & operator+= (const Matrix3x3< FMATRIX_TYPE > &arg)
 
Matrix3x3< FMATRIX_TYPE > & operator-= (const Matrix3x3< FMATRIX_TYPE > &arg)
 
Matrix3x3< FMATRIX_TYPE > & operator/= (const FMATRIX_TYPE &arg)
 
FMatrixBaseoperator= (const Matrix3x3< FMATRIX_TYPE > &mat)
 assignment operators calling corresponding operator from base class "TNT::Matrix" if appropriate More...
 
bool operator== (const Matrix3x3< FMATRIX_TYPE > &arg) const
 
FMATRIX_TYPE * operator[] (const unsigned row)
 
const FMATRIX_TYPE * operator[] (const unsigned row) const
 
bool Save (const std::string &fname) const
 
void Scale (const FMATRIX_TYPE &scalar, Matrix3x3< FMATRIX_TYPE > &destmat) const
 scalar-matrix multiplication More...
 
void Set (const Vector3< FMATRIX_TYPE > &epipole, const RMatrixBase &R)
 set it from epipole and rotation matrix in order to generate essential matrix from image 1 to image 2 (i.e. More...
 
void Set (const Vector3< FMATRIX_TYPE > &epipole, const Vector3< FMATRIX_TYPE > &EulerAngXYZ)
 see constructor from epipole and rotation matrix builds rotation matrix in x, y, z order with moving axis see RMatrixBase More...
 
void Set (RMatrixBase &R, Vector3< FMATRIX_TYPE > &C)
 set function, it is undocumented if this really works with the camer center C, I doubt it, woelk 12/2004 More...
 
void SetAsCrossProductMatrix (const Vector3< FMATRIX_TYPE > &vec)
 Sets matrix from vector as cross product matrix of this vector. More...
 
void SetAsCrossProductMatrix (const FMATRIX_TYPE &x, const FMATRIX_TYPE &y, const FMATRIX_TYPE &z)
 Sets matrix from vector as cross product matrix of a vector. More...
 
void SetColumn (const unsigned int col, const Vector3< FMATRIX_TYPE > &c)
 
void SetFromColumnVectors (const BIAS::Vector3< FMATRIX_TYPE > &v0, const BIAS::Vector3< FMATRIX_TYPE > &v1, const BIAS::Vector3< FMATRIX_TYPE > &v2)
 set this matrix from 3 vectors each representating a column More...
 
void SetFromRowVectors (const BIAS::Vector3< FMATRIX_TYPE > &v0, const BIAS::Vector3< FMATRIX_TYPE > &v1, const BIAS::Vector3< FMATRIX_TYPE > &v2)
 set this matrix from 3 vectors, each representating a row More...
 
void SetFromVector (const TNT::Vector< FMATRIX_TYPE > &vec)
 sets the diagonalelements of this 3x3 Matrix rowwise with the values of the 9 (x1) vector More...
 
void SetIdentity ()
 set the elements of this matrix to the identity matrix (possibly overriding the inherited method) More...
 
void SetRow (const unsigned int row, const Vector3< FMATRIX_TYPE > &r)
 
void SetZero ()
 
FMATRIX_TYPE Trace () const
 return the trace of the matrix More...
 
Matrix3x3< FMATRIX_TYPE > Transpose () const
 returns transposed matrix tested 12.06.2002 More...
 
void Transpose (const Matrix3x3< FMATRIX_TYPE > &arg)
 sets this as transposed arg, fw More...
 
void TransposedMult (const Vector3< FMATRIX_TYPE > &argvec, Vector3< FMATRIX_TYPE > &destvec) const
 multiplies matrix from left with transposed argvec, resulting in transposed destvec More...
 
void TransposeIP ()
 tranpose this matrix "in place" example: 0 1 2 –> 0 3 6 3 4 5 –> 1 4 7 6 7 8 –> 2 5 8 More...
 
 ~FMatrixBase ()
 destructor untested (04/18/2002) More...
 

Protected Attributes

HomgPoint2D _epipole
 
bool _isDecomposed
 
RMatrixBase _R
 
FMATRIX_TYPE Data_ [9]
 

Detailed Description

describes the epipolar relationship between a point and his mapping on a corresponding epipolar line.

The 3x3 matrix F is the fundamental matrix of an image pair (b1, b2). In particular, with p' = transpose(p) this results in the epipolar constraint: p1' F p2 = 0 for every pair (p1, p2) of corresponding image points in b1 and b2 respectively.

Only implementation very specific to FMatrixBase (and not valid for a general 3x3 matrix) should be implemented here.

Author
Jan Woetzel untested (04/18/2002) now derived from Matrix3x3 and not directly from Matrix<double> status alpha (02/26/2002)

Definition at line 67 of file FMatrixBase.hh.

Constructor & Destructor Documentation

FMatrixBase::~FMatrixBase ( )

destructor untested (04/18/2002)

Definition at line 36 of file FMatrixBase.cpp.

BIAS::FMatrixBase::FMatrixBase ( )
inline

default constructor untested (04/18/2002)

Definition at line 77 of file FMatrixBase.hh.

BIAS::FMatrixBase::FMatrixBase ( const MatrixInitType i)
inlineexplicit

constructor setting identity or zero

author koeser

Definition at line 81 of file FMatrixBase.hh.

BIAS::FMatrixBase::FMatrixBase ( const Matrix3x3< FMATRIX_TYPE > &  A)
inline
Author
Jan Woetzel untested (04/18/2002)

Definition at line 89 of file FMatrixBase.hh.

BIAS::FMatrixBase::FMatrixBase ( const FMATRIX_TYPE *  d)
inlineexplicit

constructor for convenience to build form a c-style aaray amtrix

Author
Jan Woetzel (07/15/2002)

Definition at line 96 of file FMatrixBase.hh.

BIAS::FMatrixBase::FMatrixBase ( const Vector3< FMATRIX_TYPE > &  epipole,
const RMatrixBase R 
)
inline

see Set(Vector3<FMATRIX_TYPE>& epipole, RMatixBase& R);

Definition at line 105 of file FMatrixBase.hh.

BIAS::FMatrixBase::FMatrixBase ( const Vector3< FMATRIX_TYPE > &  epipole,
const Vector3< FMATRIX_TYPE > &  EulerAngXYZ 
)
inline

see Set(Vector3<FMATRIX_TYPE>& epipole, Vector3<FMATRIX_TYPE>& EulerAngXYZ);

Definition at line 112 of file FMatrixBase.hh.

Member Function Documentation

void FMatrixBase::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

Author
woelk 08/2004

Definition at line 92 of file FMatrixBase.cpp.

References BIAS::Matrix3x3< T >::GetInverse(), BIAS::Matrix3x3< T >::Mult(), and BIAS::Matrix3x3< T >::Transpose().

void FMatrixBase::Compose ( const RMatrixBase R1,
const Vector3< double > &  C1,
const RMatrixBase R2,
const Vector3< double > &  C2 
)

constructs the FMatrix from image 1 to image 2 as [e]_x R, assumes K1=K2=Identity()

Author
woelk 08/2004

Definition at line 76 of file FMatrixBase.cpp.

References BIAS::HomgPoint2D::Homogenize(), BIAS::Matrix3x3< T >::Mult(), BIAS::Matrix3x3< T >::SetAsCrossProductMatrix(), and BIAS::Matrix3x3< T >::Transpose().

void BIAS::Matrix3x3< FMATRIX_TYPE >::GetAbsMaxMin ( FMATRIX_TYPE &  max,
FMATRIX_TYPE &  min 
) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< FMATRIX_TYPE >::GetColumn ( const unsigned int  col,
Vector3< FMATRIX_TYPE > &  r 
) const
inherited

extract one column ('Spalte') from this matrix (for convenience)

BIAS::Vector3<FMATRIX_TYPE > BIAS::Matrix3x3< FMATRIX_TYPE >::GetColumn ( const unsigned int  col) const
inlineinherited

Definition at line 202 of file Matrix3x3.hh.

double BIAS::FMatrixBase::GetCosAngleErrorHomogenized ( const BIAS::HomgPoint2D p1,
const BIAS::HomgPoint2D p2 
)
inline

returns the cosine of the angle bewteen epipolar line and match line

Todo:
optimze

Definition at line 302 of file FMatrixBase.hh.

References _epipole, _isDecomposed, _R, BIAS::HomgLine2D::Homogenize(), BIAS::Matrix3x3< T >::Mult(), and BIAS::HomgLine2D::Set().

FMATRIX_TYPE * BIAS::Matrix3x3< FMATRIX_TYPE >::GetData ( )
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 99 of file Matrix3x3.hh.

Referenced by GetEpipolarErrorHomogenized().

const FMATRIX_TYPE * BIAS::Matrix3x3< FMATRIX_TYPE >::GetData ( ) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 103 of file Matrix3x3.hh.

FMATRIX_TYPE BIAS::Matrix3x3< FMATRIX_TYPE >::GetDeterminant ( ) const
inherited

returns the Determinant |A| of this

Author
grest
double BIAS::FMatrixBase::GetEpipolarError ( BIAS::HomgPoint2D P1,
BIAS::HomgPoint2D P2 
)
inline

computes error in epipolar geometry for the given correspondence P1,P2 using above function after homogenizing the points

Author
koeser 09/2003

Definition at line 167 of file FMatrixBase.hh.

References BIAS::HomgPoint2D::Homogenize().

double BIAS::FMatrixBase::GetEpipolarErrorHomogenized ( const BIAS::HomgPoint2D P1,
const BIAS::HomgPoint2D P2 
) const
inline

computes error in epipolar geometry for the given correspondence P1;P2

this error is the sum of squared distances to epipolar lines in both images, for inliers it should typically be of one or two pixels (if not-normalized pixel coordinates are used)

Attention
P1 and P2 HAVE TO BE homogenized
Parameters
P1homogenized first point of correspondence to check
P2homogenized second point of correspondence to check tested, optimized
Author
koeser 09/2003

Definition at line 250 of file FMatrixBase.hh.

References BIAS::Matrix3x3< FMATRIX_TYPE >::GetData().

HomgLine2D FMatrixBase::GetEpipolarLineImage1 ( const HomgPoint2D point) const

Returns epipolar line in image 1 for point in image 2.

Definition at line 41 of file FMatrixBase.cpp.

void FMatrixBase::GetEpipolarLineImage1 ( const HomgPoint2D point,
HomgLine2D homline 
) const

Returns epipolar line in image 1 for point in image 2.

Definition at line 48 of file FMatrixBase.cpp.

HomgLine2D FMatrixBase::GetEpipolarLineImage2 ( const HomgPoint2D point) const

Returns epipolar line in image 2 for point in image 1.

Definition at line 64 of file FMatrixBase.cpp.

void FMatrixBase::GetEpipolarLineImage2 ( const HomgPoint2D point,
HomgLine2D homline 
) const

Returns epipolar line in image 2 for point in image 1.

Definition at line 70 of file FMatrixBase.cpp.

int BIAS::Matrix3x3< FMATRIX_TYPE >::GetInverse ( Matrix3x3< FMATRIX_TYPE > &  inv) const
inherited

Matrix inversion: inverts this and stores resulty in argument inv.

Returns -1 if determinant is zero, 0 on success.

Author
woelk 07/2005
FMATRIX_TYPE BIAS::Matrix3x3< FMATRIX_TYPE >::GetMax ( ) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< FMATRIX_TYPE >::GetMaxMin ( FMATRIX_TYPE &  max,
FMATRIX_TYPE &  min 
) const
inherited

return biggest and smallest entry

Author
woelk 08/2004
FMATRIX_TYPE BIAS::Matrix3x3< FMATRIX_TYPE >::GetMin ( ) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
unsigned BIAS::Matrix3x3< FMATRIX_TYPE >::GetNumElements ( ) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 107 of file Matrix3x3.hh.

void BIAS::Matrix3x3< FMATRIX_TYPE >::GetRow ( const unsigned int  row,
Vector3< FMATRIX_TYPE > &  r 
) const
inherited

extract one row ('Zeile') from ths matrix (for convenience)

Vector3<FMATRIX_TYPE > BIAS::Matrix3x3< FMATRIX_TYPE >::GetRow ( const unsigned int  row) const
inlineinherited

Definition at line 196 of file Matrix3x3.hh.

int BIAS::Matrix3x3< FMATRIX_TYPE >::InvertIP ( )
inherited

In place matrix conversion.

Returns -1 if determinant is zero, 0 on success.

Author
woelk 07/2005
bool BIAS::Matrix3x3< FMATRIX_TYPE >::IsIdentity ( const FMATRIX_TYPE  eps = std::numeric_limits<T>::epsilon()) const
inherited
Author
woelk 12/2007 (c) www.vision-n.de
bool BIAS::Matrix3x3< FMATRIX_TYPE >::IsZero ( const FMATRIX_TYPE  eps = std::numeric_limits<T>::epsilon()) const
inherited
Author
woelk 11/2007 (c) www.vision-n.de
bool BIAS::Matrix3x3< FMATRIX_TYPE >::Load ( const std::string &  fname)
inherited
void BIAS::Matrix3x3< FMATRIX_TYPE >::MakeSymmetric ( )
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< FMATRIX_TYPE >::Mult ( const Vector3< FMATRIX_TYPE > &  argvec,
Vector3< FMATRIX_TYPE > &  destvec 
) const
inlineinherited

matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: destvec = (this Matrix) * argvec

Author
Ingo Thomsen, Jan Woetzel untested (04/17/2002)
void BIAS::Matrix3x3< FMATRIX_TYPE >::Mult ( const Matrix3x3< FMATRIX_TYPE > &  argmat,
Matrix3x3< FMATRIX_TYPE > &  destmat 
) const
inlineinherited

matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat

Author
Ingo Thomsen, Jan Woetzel untested (04/17/2002)
void BIAS::Matrix3x3< FMATRIX_TYPE >::Mult ( const Matrix3x4< FMATRIX_TYPE > &  argmat,
Matrix3x4< FMATRIX_TYPE > &  destmat 
) const
inherited
Author
woelk 06 2003
FMATRIX_TYPE BIAS::Matrix3x3< FMATRIX_TYPE >::Normalize ( )
inherited

divide this by biggest absolute entry, returns biggest entry

Author
woelk 11/2007 (c) www.vision-n.de
Examples:
ExampleFMatrix.cpp.
double BIAS::Matrix3x3< FMATRIX_TYPE >::NormFrobenius ( ) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de
FMATRIX_TYPE BIAS::Matrix3x3< FMATRIX_TYPE >::NormL1 ( ) const
inlineinherited
double BIAS::Matrix3x3< FMATRIX_TYPE >::NormL2 ( ) const
inlineinherited

Definition at line 255 of file Matrix3x3.hh.

bool BIAS::Matrix3x3< FMATRIX_TYPE >::operator!= ( const Matrix3x3< FMATRIX_TYPE > &  arg) const
inlineinherited

Definition at line 274 of file Matrix3x3.hh.

Matrix3x3<FMATRIX_TYPE >& BIAS::Matrix3x3< FMATRIX_TYPE >::operator*= ( const Matrix3x3< FMATRIX_TYPE > &  arg)
inlineinherited

woelk 11/2007 (c) www.vision-n.de

Definition at line 143 of file Matrix3x3.hh.

Matrix3x3<FMATRIX_TYPE >& BIAS::Matrix3x3< FMATRIX_TYPE >::operator*= ( const FMATRIX_TYPE &  arg)
inherited

woelk 11/2007 (c) www.vision-n.de

Matrix3x3<FMATRIX_TYPE >& BIAS::Matrix3x3< FMATRIX_TYPE >::operator+= ( const Matrix3x3< FMATRIX_TYPE > &  arg)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
Matrix3x3<FMATRIX_TYPE >& BIAS::Matrix3x3< FMATRIX_TYPE >::operator-= ( const Matrix3x3< FMATRIX_TYPE > &  arg)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
Matrix3x3<FMATRIX_TYPE >& BIAS::Matrix3x3< FMATRIX_TYPE >::operator/= ( const FMATRIX_TYPE &  arg)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
FMatrixBase& BIAS::FMatrixBase::operator= ( const Matrix3x3< FMATRIX_TYPE > &  mat)
inline

assignment operators calling corresponding operator from base class "TNT::Matrix" if appropriate

Author
Jan Woetzel untested (04/18/2002) status alpha (02/25/2002)

Definition at line 123 of file FMatrixBase.hh.

References BIAS::Matrix3x3< T >::operator=().

Referenced by BIAS::FMatrix::operator=().

bool BIAS::Matrix3x3< FMATRIX_TYPE >::operator== ( const Matrix3x3< FMATRIX_TYPE > &  arg) const
inherited
FMATRIX_TYPE * BIAS::Matrix3x3< FMATRIX_TYPE >::operator[] ( const unsigned  row)
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 91 of file Matrix3x3.hh.

const FMATRIX_TYPE * BIAS::Matrix3x3< FMATRIX_TYPE >::operator[] ( const unsigned  row) const
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de

Definition at line 95 of file Matrix3x3.hh.

bool BIAS::Matrix3x3< FMATRIX_TYPE >::Save ( const std::string &  fname) const
inherited
void BIAS::Matrix3x3< FMATRIX_TYPE >::Scale ( const FMATRIX_TYPE &  scalar,
Matrix3x3< FMATRIX_TYPE > &  destmat 
) const
inlineinherited

scalar-matrix multiplication

void BIAS::FMatrixBase::Set ( const Vector3< FMATRIX_TYPE > &  epipole,
const RMatrixBase R 
)
inline

set it from epipole and rotation matrix in order to generate essential matrix from image 1 to image 2 (i.e.

implementation

generating the epipolar line in image 2, gfiven a point in image 1), use epipole in second image and rotation matrix from image 1 to image 2

Author
woelk 07/2004

Definition at line 215 of file FMatrixBase.hh.

References _epipole, _isDecomposed, _R, BIAS::HomgPoint2D::Homogenize(), BIAS::Matrix3x3< T >::Mult(), and BIAS::Matrix3x3< T >::SetAsCrossProductMatrix().

Referenced by BIAS::Parametrization::ParamsToEMatrix(), and Set().

void BIAS::FMatrixBase::Set ( const Vector3< FMATRIX_TYPE > &  epipole,
const Vector3< FMATRIX_TYPE > &  EulerAngXYZ 
)
inline

see constructor from epipole and rotation matrix builds rotation matrix in x, y, z order with moving axis see RMatrixBase

Author
woelk 07/2004

Definition at line 227 of file FMatrixBase.hh.

References Set(), and BIAS::RMatrixBase::SetXYZ().

void BIAS::FMatrixBase::Set ( RMatrixBase R,
Vector3< FMATRIX_TYPE > &  C 
)
inline

set function, it is undocumented if this really works with the camer center C, I doubt it, woelk 12/2004

Definition at line 235 of file FMatrixBase.hh.

References BIAS::Matrix3x3< T >::Transpose().

void BIAS::Matrix3x3< FMATRIX_TYPE >::SetAsCrossProductMatrix ( const Vector3< FMATRIX_TYPE > &  vec)
inherited

Sets matrix from vector as cross product matrix of this vector.

void BIAS::Matrix3x3< FMATRIX_TYPE >::SetAsCrossProductMatrix ( const FMATRIX_TYPE &  x,
const FMATRIX_TYPE &  y,
const FMATRIX_TYPE &  z 
)
inherited

Sets matrix from vector as cross product matrix of a vector.

with components (x, y, z)

void BIAS::Matrix3x3< FMATRIX_TYPE >::SetColumn ( const unsigned int  col,
const Vector3< FMATRIX_TYPE > &  c 
)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< FMATRIX_TYPE >::SetFromColumnVectors ( const BIAS::Vector3< FMATRIX_TYPE > &  v0,
const BIAS::Vector3< FMATRIX_TYPE > &  v1,
const BIAS::Vector3< FMATRIX_TYPE > &  v2 
)
inherited

set this matrix from 3 vectors each representating a column

void BIAS::Matrix3x3< FMATRIX_TYPE >::SetFromRowVectors ( const BIAS::Vector3< FMATRIX_TYPE > &  v0,
const BIAS::Vector3< FMATRIX_TYPE > &  v1,
const BIAS::Vector3< FMATRIX_TYPE > &  v2 
)
inherited

set this matrix from 3 vectors, each representating a row

void BIAS::Matrix3x3< FMATRIX_TYPE >::SetFromVector ( const TNT::Vector< FMATRIX_TYPE > &  vec)
inherited

sets the diagonalelements of this 3x3 Matrix rowwise with the values of the 9 (x1) vector

Author
Ingo Thomsen, Jan Woetzel
void BIAS::Matrix3x3< FMATRIX_TYPE >::SetIdentity ( )
inlineinherited

set the elements of this matrix to the identity matrix (possibly overriding the inherited method)

Author
Ingo Thomsen, Jan Woetzel
Date
04/17/2002 untested
void BIAS::Matrix3x3< FMATRIX_TYPE >::SetRow ( const unsigned int  row,
const Vector3< FMATRIX_TYPE > &  r 
)
inherited
Author
woelk 11/2007 (c) www.vision-n.de
void BIAS::Matrix3x3< FMATRIX_TYPE >::SetZero ( )
inlineinherited
Author
woelk 11/2007 (c) www.vision-n.de
FMATRIX_TYPE BIAS::Matrix3x3< FMATRIX_TYPE >::Trace ( ) const
inlineinherited

return the trace of the matrix

Author
woelk 04/2006

Definition at line 230 of file Matrix3x3.hh.

Matrix3x3<FMATRIX_TYPE > BIAS::Matrix3x3< FMATRIX_TYPE >::Transpose ( ) const
inherited

returns transposed matrix tested 12.06.2002

Author
Felix Woelk
void BIAS::Matrix3x3< FMATRIX_TYPE >::Transpose ( const Matrix3x3< FMATRIX_TYPE > &  arg)
inlineinherited

sets this as transposed arg, fw

void BIAS::Matrix3x3< FMATRIX_TYPE >::TransposedMult ( const Vector3< FMATRIX_TYPE > &  argvec,
Vector3< FMATRIX_TYPE > &  destvec 
) const
inlineinherited

multiplies matrix from left with transposed argvec, resulting in transposed destvec

Author
woelk 05/2003
void BIAS::Matrix3x3< FMATRIX_TYPE >::TransposeIP ( )
inlineinherited

tranpose this matrix "in place" example: 0 1 2 –> 0 3 6 3 4 5 –> 1 4 7 6 7 8 –> 2 5 8

Member Data Documentation

HomgPoint2D BIAS::FMatrixBase::_epipole
protected

Definition at line 205 of file FMatrixBase.hh.

Referenced by GetCosAngleErrorHomogenized(), and Set().

bool BIAS::FMatrixBase::_isDecomposed
protected

Definition at line 204 of file FMatrixBase.hh.

Referenced by GetCosAngleErrorHomogenized(), and Set().

RMatrixBase BIAS::FMatrixBase::_R
protected

Definition at line 206 of file FMatrixBase.hh.

Referenced by GetCosAngleErrorHomogenized(), and Set().

FMATRIX_TYPE BIAS::Matrix3x3< FMATRIX_TYPE >::Data_[9]
protectedinherited

Definition at line 282 of file Matrix3x3.hh.


The documentation for this class was generated from the following files: