Basic Image AlgorithmS Library
2.8.0
|
K describes the mapping from world coordinates (wcs) to pixel coordinates (pcs). More...
#include <Base/Geometry/KMatrix.hh>
Public Member Functions | |
void | GetAbsMaxMin (KMATRIX_TYPE &max, KMATRIX_TYPE &min) const |
void | GetColumn (const unsigned int col, Vector3< KMATRIX_TYPE > &r) const |
extract one column ('Spalte') from this matrix (for convenience) More... | |
BIAS::Vector3< KMATRIX_TYPE > | GetColumn (const unsigned int col) const |
KMATRIX_TYPE * | GetData () |
const KMATRIX_TYPE * | GetData () const |
KMATRIX_TYPE | GetDeterminant () const |
returns the Determinant |A| of this More... | |
KMATRIX_TYPE | GetFx () const |
KMATRIX_TYPE | GetFy () const |
KMATRIX_TYPE | GetHx () const |
KMATRIX_TYPE | GetHy () const |
int | GetInverse (Matrix3x3< KMATRIX_TYPE > &inv) const |
Matrix inversion: inverts this and stores resulty in argument inv. More... | |
KMATRIX_TYPE | GetMax () const |
void | GetMaxMin (KMATRIX_TYPE &max, KMATRIX_TYPE &min) const |
return biggest and smallest entry More... | |
KMATRIX_TYPE | GetMin () const |
unsigned | GetNumElements () const |
void | GetRow (const unsigned int row, Vector3< KMATRIX_TYPE > &r) const |
extract one row ('Zeile') from ths matrix (for convenience) More... | |
Vector3< KMATRIX_TYPE > | GetRow (const unsigned int row) const |
KMATRIX_TYPE | GetSkew () const |
KMatrix | Invert () const |
returns analyticaly inverted matrix More... | |
int | InvertIP () |
In place matrix conversion. More... | |
bool | IsIdentity (const KMATRIX_TYPEeps=std::numeric_limits< KMATRIX_TYPE >::epsilon()) const |
bool | IsZero (const KMATRIX_TYPEeps=std::numeric_limits< KMATRIX_TYPE >::epsilon()) const |
KMatrix () | |
KMatrix (const MatrixInitType &i) | |
constructor setting identity or zero More... | |
KMatrix (const Matrix3x3< KMATRIX_TYPE > &A) | |
bool | Load (const std::string &fname) |
void | MakeSymmetric () |
void | Mult (const Vector3< KMATRIX_TYPE > &argvec, Vector3< KMATRIX_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< KMATRIX_TYPE > &argmat, Matrix3x3< KMATRIX_TYPE > &destmat) const |
matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat More... | |
void | Mult (const Matrix3x4< KMATRIX_TYPE > &argmat, Matrix3x4< KMATRIX_TYPE > &destmat) const |
KMATRIX_TYPE | Normalize () |
divide this by biggest absolute entry, returns biggest entry More... | |
double | NormFrobenius () const |
KMATRIX_TYPE | NormL1 () const |
double | NormL2 () const |
bool | operator!= (const Matrix3x3< KMATRIX_TYPE > &arg) const |
Matrix3x3< KMATRIX_TYPE > & | operator*= (const Matrix3x3< KMATRIX_TYPE > &arg) |
woelk 11/2007 (c) www.vision-n.de More... | |
Matrix3x3< KMATRIX_TYPE > & | operator*= (const KMATRIX_TYPE &arg) |
woelk 11/2007 (c) www.vision-n.de More... | |
Matrix3x3< KMATRIX_TYPE > & | operator+= (const Matrix3x3< KMATRIX_TYPE > &arg) |
Matrix3x3< KMATRIX_TYPE > & | operator-= (const Matrix3x3< KMATRIX_TYPE > &arg) |
Matrix3x3< KMATRIX_TYPE > & | operator/= (const KMATRIX_TYPE &arg) |
bool | operator== (const Matrix3x3< KMATRIX_TYPE > &arg) const |
KMATRIX_TYPE * | operator[] (const unsigned row) |
const KMATRIX_TYPE * | operator[] (const unsigned row) const |
bool | Save (const std::string &fname) const |
void | Scale (const KMATRIX_TYPE &scalar, Matrix3x3< KMATRIX_TYPE > &destmat) const |
scalar-matrix multiplication More... | |
void | Set (const KMATRIX_TYPE &fx, const KMATRIX_TYPE &fy, const KMATRIX_TYPE &hx, const KMATRIX_TYPE &hy, const KMATRIX_TYPE &skew=KMATRIX_TYPE(0)) |
get and set data members by verbose names. More... | |
void | SetAsCrossProductMatrix (const Vector3< KMATRIX_TYPE > &vec) |
Sets matrix from vector as cross product matrix of this vector. More... | |
void | SetAsCrossProductMatrix (const KMATRIX_TYPE &x, const KMATRIX_TYPE &y, const KMATRIX_TYPE &z) |
Sets matrix from vector as cross product matrix of a vector. More... | |
void | SetColumn (const unsigned int col, const Vector3< KMATRIX_TYPE > &c) |
void | SetFromColumnVectors (const BIAS::Vector3< KMATRIX_TYPE > &v0, const BIAS::Vector3< KMATRIX_TYPE > &v1, const BIAS::Vector3< KMATRIX_TYPE > &v2) |
set this matrix from 3 vectors each representating a column More... | |
void | SetFromRowVectors (const BIAS::Vector3< KMATRIX_TYPE > &v0, const BIAS::Vector3< KMATRIX_TYPE > &v1, const BIAS::Vector3< KMATRIX_TYPE > &v2) |
set this matrix from 3 vectors, each representating a row More... | |
void | SetFromVector (const TNT::Vector< KMATRIX_TYPE > &vec) |
sets the diagonalelements of this 3x3 Matrix rowwise with the values of the 9 (x1) vector More... | |
void | SetFx (const KMATRIX_TYPE &val) |
void | SetFy (const KMATRIX_TYPE &val) |
void | SetHx (const KMATRIX_TYPE &val) |
void | SetHy (const KMATRIX_TYPE &val) |
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< KMATRIX_TYPE > &r) |
void | SetSkew (const KMATRIX_TYPE &val) |
void | SetZero () |
KMATRIX_TYPE | Trace () const |
return the trace of the matrix More... | |
Matrix3x3< KMATRIX_TYPE > | Transpose () const |
returns transposed matrix tested 12.06.2002 More... | |
void | Transpose (const Matrix3x3< KMATRIX_TYPE > &arg) |
sets this as transposed arg, fw More... | |
void | TransposedMult (const Vector3< KMATRIX_TYPE > &argvec, Vector3< KMATRIX_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... | |
~KMatrix () | |
Protected Attributes | |
KMATRIX_TYPE | Data_ [9] |
K describes the mapping from world coordinates (wcs) to pixel coordinates (pcs).
To remember: (1) (R' | -R' C) projects a homgenous 3D (scene) point from wcs to 2d ics. (2) K transfroms a 2d scene point from ics to pcs (pixel coordinates) (which is mainly shift of origin
Definition at line 48 of file KMatrix.hh.
|
inline |
Definition at line 51 of file KMatrix.hh.
|
inlineexplicit |
|
inline |
Definition at line 58 of file KMatrix.hh.
|
inline |
Definition at line 60 of file KMatrix.hh.
|
inherited |
|
inherited |
extract one column ('Spalte') from this matrix (for convenience)
|
inlineinherited |
Definition at line 202 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 99 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 103 of file Matrix3x3.hh.
|
inherited |
returns the Determinant |A| of this
KMATRIX_TYPE KMatrix::GetFx | ( | ) | const |
Definition at line 74 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib(), BIAS::PMatrixEstimation::AutoCalib_(), and BIAS::Projection::CreatePerspective().
KMATRIX_TYPE KMatrix::GetFy | ( | ) | const |
Definition at line 77 of file KMatrix.cpp.
Referenced by BIAS::Projection::CreatePerspective().
KMATRIX_TYPE KMatrix::GetHx | ( | ) | const |
Definition at line 83 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib_(), and BIAS::Projection::CreatePerspective().
KMATRIX_TYPE KMatrix::GetHy | ( | ) | const |
Definition at line 86 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib_(), and BIAS::Projection::CreatePerspective().
|
inherited |
Matrix inversion: inverts this and stores resulty in argument inv.
Returns -1 if determinant is zero, 0 on success.
|
inherited |
|
inherited |
return biggest and smallest entry
|
inherited |
|
inlineinherited |
Definition at line 107 of file Matrix3x3.hh.
|
inherited |
extract one row ('Zeile') from ths matrix (for convenience)
|
inlineinherited |
Definition at line 196 of file Matrix3x3.hh.
KMATRIX_TYPE KMatrix::GetSkew | ( | ) | const |
Definition at line 80 of file KMatrix.cpp.
KMatrix KMatrix::Invert | ( | ) | const |
returns analyticaly inverted matrix
matlab: fx = sym('fx'); fy = sym('fy'); cx = sym('cx'); s = sym('s'); cy = sym('cy');
K = [ fx s cx; 0 fy cy; 0 0 1]; K^1 = [ 1/fx, -s/fx/fy, (s*cy-cx*fy)/fx/fy] [ 0, 1/fy, -cy/fy] [ 0, 0, 1]
woelk 07 2006
Definition at line 31 of file KMatrix.cpp.
References BIAS::Matrix3x3< T >::SetIdentity().
Referenced by BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::MatchDataBase::_SetCamData(), BIAS::PMatrix::BackprojectByZDepth(), BIAS::TFTensorEstimation::Compute(), BIAS::HMatrixEstimation::Compute(), BIAS::HMatrixEstimation::ComputeAffine(), BIAS::OutputLensDistortion::CreateLookupTable(), BIAS::PMDImageProc::FitDepthTo2DImageKOnly_(), BIAS::PMatrix::GetRayWorldCoo(), BIAS::PMDImageProc::HFromMeta_(), BIAS::DistortionRendering::Init(), BIAS::HMatrix::MapAcrossPlane(), BIAS::GenGroundTruth::NormalizeMatches(), BIAS::MatchDataBase::Read(), and BIAS::ProjectionParametersPerspective::SetK().
|
inherited |
In place matrix conversion.
Returns -1 if determinant is zero, 0 on success.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
matrix - vector multiplicate this matrix with Vector3, storing the result in destvec calculates: destvec = (this Matrix) * argvec
|
inlineinherited |
matrix-matrix multiplication with other Matrix3x3, storing the result in destmat calculates: destmat = (this mat) * argmat
|
inherited |
|
inherited |
divide this by biggest absolute entry, returns biggest entry
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Definition at line 255 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 274 of file Matrix3x3.hh.
|
inlineinherited |
woelk 11/2007 (c) www.vision-n.de
Definition at line 143 of file Matrix3x3.hh.
|
inherited |
woelk 11/2007 (c) www.vision-n.de
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
Definition at line 91 of file Matrix3x3.hh.
|
inlineinherited |
Definition at line 95 of file Matrix3x3.hh.
|
inherited |
|
inlineinherited |
scalar-matrix multiplication
void KMatrix::Set | ( | const KMATRIX_TYPE & | fx, |
const KMATRIX_TYPE & | fy, | ||
const KMATRIX_TYPE & | hx, | ||
const KMATRIX_TYPE & | hy, | ||
const KMATRIX_TYPE & | skew = KMATRIX_TYPE(0) |
||
) |
get and set data members by verbose names.
fx skew hx 0 fy hy 0 0 1
Definition at line 91 of file KMatrix.cpp.
|
inherited |
Sets matrix from vector as cross product matrix of this vector.
|
inherited |
Sets matrix from vector as cross product matrix of a vector.
with components (x, y, z)
|
inherited |
|
inherited |
set this matrix from 3 vectors each representating a column
|
inherited |
set this matrix from 3 vectors, each representating a row
|
inherited |
sets the diagonalelements of this 3x3 Matrix rowwise with the values of the 9 (x1) vector
void KMatrix::SetFx | ( | const KMATRIX_TYPE & | val | ) |
Definition at line 75 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib(), and BIAS::PMatrixEstimation::AutoCalib_().
void KMatrix::SetFy | ( | const KMATRIX_TYPE & | val | ) |
Definition at line 78 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib(), and BIAS::PMatrixEstimation::AutoCalib_().
void KMatrix::SetHx | ( | const KMATRIX_TYPE & | val | ) |
Definition at line 84 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib(), and BIAS::PMatrixEstimation::AutoCalib_().
void KMatrix::SetHy | ( | const KMATRIX_TYPE & | val | ) |
Definition at line 87 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib(), and BIAS::PMatrixEstimation::AutoCalib_().
|
inlineinherited |
set the elements of this matrix to the identity matrix (possibly overriding the inherited method)
|
inherited |
void KMatrix::SetSkew | ( | const KMATRIX_TYPE & | val | ) |
Definition at line 81 of file KMatrix.cpp.
Referenced by BIAS::PMatrixEstimation::AutoCalib().
|
inlineinherited |
|
inlineinherited |
return the trace of the matrix
Definition at line 230 of file Matrix3x3.hh.
|
inherited |
returns transposed matrix tested 12.06.2002
|
inlineinherited |
sets this as transposed arg, fw
|
inlineinherited |
multiplies matrix from left with transposed argvec, resulting in transposed destvec
|
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
|
protectedinherited |
Definition at line 282 of file Matrix3x3.hh.