Inherits opentl::core::cvdata::Pose.
Public Member Functions | |
virtual Pose2d1ScaleRotoTranslation * | clone () const |
virtual double | getAngleZ () |
virtual double | getScaleX () |
virtual double | getScaleY () |
virtual double | getX () |
virtual double | getY () |
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 () |
Function to generate Lie Algebra Generator matrices, required for calculation of Jacobians, based on a specific pose representation type. | |
virtual Pose2d1ScaleRotoTranslation & | operator= (const Pose2d1ScaleRotoTranslation &value) |
Pose2d1ScaleRotoTranslation (const Pose2d1ScaleRotoTranslation &value) | |
Pose2d1ScaleRotoTranslation (opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL) | |
virtual void | setAngleZ (double val) |
void | setDataFromVal (double s, double phi, double b1, double b2) |
virtual void | setScaleX (double val) |
virtual void | setScaleY (double val) |
virtual void | setX (double val) |
virtual void | setY (double val) |
virtual void | updateDataFromLocalT () |
Set pose by homog. transformation matrix. | |
virtual void | updateWorldTFromData () |
Function to get the pose as homog. transformation matrix T. | |
virtual | ~Pose2d1ScaleRotoTranslation () |
Sets transformation matrix from 2d roto translation vector and 2 scales. In order to be compatible to x in 3d homogeneous coordinates H is 4x4 matrix
|cos(phi) -sin(phi) 0 b1| H = exp(s)* |sin(phi) cos(phi) 0 b2| |0 0 1 0| |0 0 0 1|
Vector[0] = s Vector[1] = phi (in rad!) Vector[2] = b1 Vector[3] = b2
opentl::core::cvdata::Pose2d1ScaleRotoTranslation::Pose2d1ScaleRotoTranslation | ( | opentl::core::cvdata::Pose::T_UPDATEMODE | updateMode, | |
std::vector< math::Vector2 > * | poseLimits = NULL | |||
) |
opentl::core::cvdata::Pose2d1ScaleRotoTranslation::Pose2d1ScaleRotoTranslation | ( | const Pose2d1ScaleRotoTranslation & | value | ) |
virtual opentl::core::cvdata::Pose2d1ScaleRotoTranslation::~Pose2d1ScaleRotoTranslation | ( | ) | [inline, virtual] |
virtual Pose2d1ScaleRotoTranslation* opentl::core::cvdata::Pose2d1ScaleRotoTranslation::clone | ( | ) | const [virtual] |
Implements opentl::core::cvdata::Pose.
virtual double opentl::core::cvdata::Pose2d1ScaleRotoTranslation::getAngleZ | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual double opentl::core::cvdata::Pose2d1ScaleRotoTranslation::getScaleX | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual double opentl::core::cvdata::Pose2d1ScaleRotoTranslation::getScaleY | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual double opentl::core::cvdata::Pose2d1ScaleRotoTranslation::getX | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual double opentl::core::cvdata::Pose2d1ScaleRotoTranslation::getY | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual int opentl::core::cvdata::Pose2d1ScaleRotoTranslation::initFromPoints | ( | const math::Matrix & | bodyPoints, | |
const math::Matrix & | screenPoints, | |||
const math::SquareMatrix & | intrinsicMat, | |||
const math::Vector * | linkIdx = NULL | |||
) | [virtual] |
Compute LSE pose (world T matrix) from N object-screen point correspondences (also called "PnP problem").
bodyPoints | Input points in object space (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::Pose2d1ScaleRotoTranslation::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 | |||
) | [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::Pose2d1ScaleRotoTranslation::initLieAlgGen | ( | ) | [virtual] |
Function to generate Lie Algebra Generator matrices, required for calculation of Jacobians, based on a specific pose representation type.
mLieGen | STL vector to store matrices. |
Implements opentl::core::cvdata::Pose.
virtual Pose2d1ScaleRotoTranslation& opentl::core::cvdata::Pose2d1ScaleRotoTranslation::operator= | ( | const Pose2d1ScaleRotoTranslation & | value | ) | [inline, virtual] |
virtual void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::setAngleZ | ( | double | val | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::setDataFromVal | ( | double | s, | |
double | phi, | |||
double | b1, | |||
double | b2 | |||
) |
virtual void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::setScaleX | ( | double | val | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::setScaleY | ( | double | val | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::setX | ( | double | val | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::setY | ( | double | val | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
virtual void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::updateDataFromLocalT | ( | ) | [virtual] |
virtual void opentl::core::cvdata::Pose2d1ScaleRotoTranslation::updateWorldTFromData | ( | ) | [virtual] |
Function to get the pose as homog. transformation matrix T.
linkId | If (-1) compute all link matrices |
Implements opentl::core::cvdata::Pose.