Go to the documentation of this file.00001 #ifndef __refine_motion_estimate_hpp__
00002 #define __refine_motion_estimate_hpp__
00003
00004 #include <Eigen/Geometry>
00005
00006 namespace fovis
00007 {
00008
00025 Eigen::Isometry3d refineMotionEstimate(
00026 const Eigen::Matrix<double, 4, Eigen::Dynamic>& points,
00027 const Eigen::Matrix<double, 2, Eigen::Dynamic>& ref_projections,
00028 double fx, double cx, double cy,
00029 const Eigen::Isometry3d& initial_estimate,
00030 int max_iterations);
00031
00051 void refineMotionEstimateBidirectional(
00052 const Eigen::Matrix<double, 4, Eigen::Dynamic>& ref_points,
00053 const Eigen::Matrix<double, 2, Eigen::Dynamic>& ref_projections,
00054 const Eigen::Matrix<double, 4, Eigen::Dynamic>& target_points,
00055 const Eigen::Matrix<double, 2, Eigen::Dynamic>& target_projections,
00056 double fx, double cx, double cy,
00057 const Eigen::Isometry3d& initial_estimate,
00058 int max_iterations,
00059 Eigen::Isometry3d* result,
00060 Eigen::MatrixXd* result_covariance);
00061
00062 }
00063
00064 #endif