13 #include <mrpt/config.h>    15 #include <Eigen/Dense>    71         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
    72         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
    73         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
    74         Eigen::Ref<Eigen::MatrixXd> pose_mat);
    91         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
    92         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
    93         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
    94         Eigen::Ref<Eigen::MatrixXd> pose_mat);
   111         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
   112         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
   113         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
   114         Eigen::Ref<Eigen::MatrixXd> pose_mat);
   131         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
   132         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
   133         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
   134         Eigen::Ref<Eigen::MatrixXd> pose_mat);
   151         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
   152         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
   153         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
   154         Eigen::Ref<Eigen::MatrixXd> pose_mat);
   170         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
   171         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
   172         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
   173         Eigen::Ref<Eigen::MatrixXd> pose_mat);
   190         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
   191         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
   192         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
   193         Eigen::Ref<Eigen::MatrixXd> pose_mat);
   208         const Eigen::Ref<Eigen::MatrixXd> obj_pts,
   209         const Eigen::Ref<Eigen::MatrixXd> img_pts, 
int n,
   210         const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic,
   211         Eigen::Ref<Eigen::MatrixXd> pose_mat);
 This class is used for Pose estimation from a known landmark using a monocular camera. 
 
bool upnp(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 Unified-PnP (UPnP) : Algorithm to compute pose from unknown camera intrinsic matrix ...
 
bool ppnp(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 Procrustes-PnP(PPnP) Algorithm : Iterative SVD based algorithm 
 
bool rpnp(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 Robust (R-PnP)- A closed form solution with intermediate P3P computations 
 
bool epnp(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 Efficient-PnP (EPnP) - Algorithm takes 4 control points based on n points and uses the control point...
 
bool lhm(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 Lu-Hager-Mjolsness(LHM)-PnP algorithm : Iterative algorithm to reduce object space error ...
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
bool p3p(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 P3P - A closed form solution for n=3, 2D-3D correspondences 
 
bool dls(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 Direct Least Squares (DLS) - PnP : Algorithm formulates position as a function of rotation...
 
bool posit(const Eigen::Ref< Eigen::MatrixXd > obj_pts, const Eigen::Ref< Eigen::MatrixXd > img_pts, int n, const Eigen::Ref< Eigen::MatrixXd > cam_intrinsic, Eigen::Ref< Eigen::MatrixXd > pose_mat)
 Pose from Orthogoanlity and Scaling :Iterative (POSIT) - A Geometric algorithm to compute scale and ...