28 #ifndef UTIL3D_MOTION_ESTIMATION_H_ 29 #define UTIL3D_MOTION_ESTIMATION_H_ 43 const std::map<int, cv::Point3f> & words3A,
44 const std::map<int, cv::KeyPoint> & words2B,
45 const CameraModel & cameraModel,
48 double reprojError = 5.,
50 int pnpRefineIterations = 1,
52 const std::map<int, cv::Point3f> & words3B = std::map<int, cv::Point3f>(),
53 cv::Mat * covariance = 0,
54 std::vector<int> * matchesOut = 0,
55 std::vector<int> * inliersOut = 0);
58 const std::map<int, cv::Point3f> & words3A,
59 const std::map<int, cv::Point3f> & words3B,
61 double inliersDistance = 0.1,
63 int refineIterations = 5,
64 cv::Mat * covariance = 0,
65 std::vector<int> * matchesOut = 0,
66 std::vector<int> * inliersOut = 0);
69 const std::vector<cv::Point3f> & objectPoints,
70 const std::vector<cv::Point2f> & imagePoints,
71 const cv::Mat & cameraMatrix,
72 const cv::Mat & distCoeffs,
75 bool useExtrinsicGuess,
77 float reprojectionError,
79 std::vector<int> & inliers,
81 int refineIterations = 1,
82 float refineSigma = 3.0f);
Transform RTABMAP_EXP estimateMotion3DTo2D(const std::map< int, cv::Point3f > &words3A, const std::map< int, cv::KeyPoint > &words2B, const CameraModel &cameraModel, int minInliers=10, int iterations=100, double reprojError=5., int flagsPnP=0, int pnpRefineIterations=1, const Transform &guess=Transform::getIdentity(), const std::map< int, cv::Point3f > &words3B=std::map< int, cv::Point3f >(), cv::Mat *covariance=0, std::vector< int > *matchesOut=0, std::vector< int > *inliersOut=0)
Transform RTABMAP_EXP estimateMotion3DTo3D(const std::map< int, cv::Point3f > &words3A, const std::map< int, cv::Point3f > &words3B, int minInliers=10, double inliersDistance=0.1, int iterations=100, int refineIterations=5, cv::Mat *covariance=0, std::vector< int > *matchesOut=0, std::vector< int > *inliersOut=0)
void RTABMAP_EXP solvePnPRansac(const std::vector< cv::Point3f > &objectPoints, const std::vector< cv::Point2f > &imagePoints, const cv::Mat &cameraMatrix, const cv::Mat &distCoeffs, cv::Mat &rvec, cv::Mat &tvec, bool useExtrinsicGuess, int iterationsCount, float reprojectionError, int minInliersCount, std::vector< int > &inliers, int flags, int refineIterations=1, float refineSigma=3.0f)