class mrpt::vision::pnp::rpnp

Chandra Mangipudi

10/08/16

#include </home/jlblanco/mrpt/libs/vision/src/pnp/rpnp.h>

class rpnp
{
public:
    // construction

    rpnp(
        Eigen::MatrixXd obj_pts_,
        Eigen::MatrixXd img_pts_,
        Eigen::MatrixXd cam_,
        int n0
        );

    //
methods

    bool compute_pose(Eigen::Ref<Eigen::Matrix3d> R_, Eigen::Ref<Eigen::Vector3d> t_);

    Eigen::VectorXd getp3p(
        double l1,
        double l2,
        double A5,
        double C1,
        double C2,
        double D1,
        double D2,
        double D3
        );

    Eigen::VectorXd getpoly7(const Eigen::VectorXd& vin);

    void calcampose(
        Eigen::MatrixXd& XXc,
        Eigen::MatrixXd& XXw,
        Eigen::Matrix3d& R2,
        Eigen::Vector3d& t2
        );
};

Construction

rpnp(
    Eigen::MatrixXd obj_pts_,
    Eigen::MatrixXd img_pts_,
    Eigen::MatrixXd cam_,
    int n0
    )

Number of 2D/3D correspondences.

Constructor for rpnp class

Methods

bool compute_pose(
    Eigen::Ref<Eigen::Matrix3d> R_,
    Eigen::Ref<Eigen::Vector3d> t_
    )

Function to compute pose.

Parameters:

R_

Rotaiton matrix

t_

Translation vector

Returns:

Success flag

Eigen::VectorXd getp3p(
    double l1,
    double l2,
    double A5,
    double C1,
    double C2,
    double D1,
    double D2,
    double D3
    )

Function to compute pose using P3P.

Parameters:

l1

Internal parameter for P3P computation

l2

Internal parameter for P3P computation

A5

Internal parameter for P3P computation

C1

Internal parameter for P3P computation

C2

Internal parameter for P3P computation

D1

Internal parameter for P3P computation

D2

Internal parameter for P3P computation

D3

Internal parameter for P3P computation

Returns:

Output vector

Eigen::VectorXd getpoly7(const Eigen::VectorXd& vin)

Get Polynomial from input vector.

Parameters:

vin

Input vector

Returns:

Output Polynomial co-efficients

void calcampose(
    Eigen::MatrixXd& XXc,
    Eigen::MatrixXd& XXw,
    Eigen::Matrix3d& R2,
    Eigen::Vector3d& t2
    )

Function to calculate final pose.

Parameters:

XXc

Object points

XXw

Image Points

R2

Final Rotation matrix

t2

Final Translation vector