opentl::core::cvdata::Pose3dProjective Class Reference

Sets 3d projection matrix from parameter vector. ATTENTION: direct transformation from body to screen space (extrinsic+intrinsic!) y=H(p)x. More...

Inherits opentl::core::cvdata::Pose.

List of all members.

Public Member Functions

virtual Pose3dProjectiveclone () const
virtual int initFromPoints (const math::Matrix &bodyPoints, const math::Matrix &screenPoints, const math::SquareMatrix &intrinsicMat, const math::Vector *linkIdx=NULL)
 Compute LSE pose (world T matrix) from N object-screen point correspondences (also called "PnP problem").
virtual int initFromPointsAndLines (const math::Matrix &bodyPoints, const math::Matrix &screenPoints, const math::Matrix &bodyLines, const math::Matrix &screenLines, const math::SquareMatrix &intrinsicMat, const math::Vector *linkIdxForPoint=NULL, const math::Vector *linkIdxForLine=NULL)
 Compute LSE pose (world T matrix) from N1 object-screen point correspondences and N2 line correspondences.
virtual void initLieAlgGen ()
 Initialize Lie algebra generators for this pose type.
virtual Pose3dProjectiveoperator= (const Pose3dProjective &value)
 Pose3dProjective (const Pose3dProjective &value)
 Constructor. Initialize object with existing value object.
 Pose3dProjective (opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL)
 Default constructor.
void setDataFromVal (double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8, double v9, double v10, double v11)
 Set pose data one by one.
virtual void updateDataFromLocalT ()
 Set pose by homog. transformation matrix.
virtual void updateWorldTFromData ()
 Function to get the pose as homog. transformation matrix T.
virtual ~Pose3dProjective ()
 Destructor.


Detailed Description

Sets 3d projection matrix from parameter vector. ATTENTION: direct transformation from body to screen space (extrinsic+intrinsic!) y=H(p)x.

In order to be compatible to x in 3d homogeneous coordinates H is 4x4 matrix

|p11+1 p12 p13 p14| P = |p21 p22+1 p23 p24| |p31 p32 p33 1| |0 0 0 1|

Vector[0] = p11 Vector[1] = p21 Vector[2] = p31 Vector[3] = p12 Vector[4] = p22 Vector[5] = p32 Vector[6] = p13 Vector[7] = p23 Vector[8] = p33 Vector[9] = p14 Vector[10] = p24


Constructor & Destructor Documentation

opentl::core::cvdata::Pose3dProjective::Pose3dProjective ( opentl::core::cvdata::Pose::T_UPDATEMODE  updateMode,
std::vector< math::Vector2 > *  poseLimits = NULL 
)

Default constructor.

opentl::core::cvdata::Pose3dProjective::Pose3dProjective ( const Pose3dProjective value  ) 

Constructor. Initialize object with existing value object.

virtual opentl::core::cvdata::Pose3dProjective::~Pose3dProjective (  )  [inline, virtual]

Destructor.


Member Function Documentation

virtual Pose3dProjective* opentl::core::cvdata::Pose3dProjective::clone (  )  const [virtual]

virtual int opentl::core::cvdata::Pose3dProjective::initFromPoints ( const math::Matrix bodyPoints,
const math::Matrix screenPoints,
const math::SquareMatrix intrinsicMat,
const math::Vector linkIdx = NULL 
) [inline, virtual]

Compute LSE pose (world T matrix) from N object-screen point correspondences (also called "PnP problem").

Parameters:
bodyPoints Input points in object space (3xN) or (2xN)
screenPoints Input corresponding points in image space (2xN)
intrinsicMat Input camera calibration matrix (3x3)
linkIdx Input Link ID of each point (for articulated Poses only)
Returns:
Error condition (0 = OK)

Implements opentl::core::cvdata::Pose.

virtual int opentl::core::cvdata::Pose3dProjective::initFromPointsAndLines ( const math::Matrix bodyPoints,
const math::Matrix screenPoints,
const math::Matrix bodyLines,
const math::Matrix screenLines,
const math::SquareMatrix intrinsicMat,
const math::Vector linkIdxForPoint = NULL,
const math::Vector linkIdxForLine = NULL 
) [inline, virtual]

Compute LSE pose (world T matrix) from N1 object-screen point correspondences and N2 line correspondences.

Parameters:
bodyPoints Input points in object space (3xN1) or (2xN1)
screenPoints Input corresponding points in image space (2xN1)
bodyLines Input line segments in object space (3x2*N2)
screenLines Input corresponding lines in image space (3xN2 for 2D represantation)
intrinsicMat Input camera calibration matrix (3x3)
linkIdxForPoint Input Link ID of each point (for articulated Poses only)
linkIdxForLine Input Link ID of each line (for articulated Poses only)
Returns:
Error condition (0 = OK)

Implements opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dProjective::initLieAlgGen (  )  [virtual]

Initialize Lie algebra generators for this pose type.

Implements opentl::core::cvdata::Pose.

virtual Pose3dProjective& opentl::core::cvdata::Pose3dProjective::operator= ( const Pose3dProjective value  )  [inline, virtual]

void opentl::core::cvdata::Pose3dProjective::setDataFromVal ( double  v0,
double  v1,
double  v2,
double  v3,
double  v4,
double  v5,
double  v6,
double  v7,
double  v8,
double  v9,
double  v10,
double  v11 
)

Set pose data one by one.

virtual void opentl::core::cvdata::Pose3dProjective::updateDataFromLocalT (  )  [inline, virtual]

Set pose by homog. transformation matrix.

Parameters:
matT 

Implements opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dProjective::updateWorldTFromData (  )  [virtual]

Function to get the pose as homog. transformation matrix T.

Returns:
transformation matrix T

Implements opentl::core::cvdata::Pose.


Generated on Fri Jul 31 17:38:38 2009 for OpenTL by  doxygen 1.5.8