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 ...