Inherits opentl::core::cvdata::Pose.
Public Member Functions | |
virtual Pose3dProjective * | clone () 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 Pose3dProjective & | operator= (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. |
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
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.
virtual Pose3dProjective* opentl::core::cvdata::Pose3dProjective::clone | ( | ) | const [virtual] |
Implements opentl::core::cvdata::Pose.
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").
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) |
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.
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) |
Implements opentl::core::cvdata::Pose.
virtual void opentl::core::cvdata::Pose3dProjective::initLieAlgGen | ( | ) | [virtual] |
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] |
virtual void opentl::core::cvdata::Pose3dProjective::updateWorldTFromData | ( | ) | [virtual] |
Function to get the pose as homog. transformation matrix T.
Implements opentl::core::cvdata::Pose.