11 #include <Eigen/Geometry>
28 const Eigen::Vector3d& tvec);
39 const Eigen::Vector3d& T);
75 const Camera& camera);
83 const Eigen::Vector3d& point3D,
84 const Eigen::Vector4d& qvec,
85 const Eigen::Vector3d& tvec,
86 const Camera& camera);
88 const Eigen::Vector3d& point3D,
90 const Camera& camera);
97 const Eigen::Vector3d& point3D,
98 const Eigen::Vector4d& qvec,
99 const Eigen::Vector3d& tvec,
100 const Camera& camera);
102 const Eigen::Vector3d& point3D,
104 const Camera& camera);
111 const Eigen::Vector3d& point3D,
112 const Eigen::Vector4d& qvec,
113 const Eigen::Vector3d& tvec);
115 const Eigen::Vector3d& point3D,
129 const Eigen::Vector3d& point3D);
139 const Eigen::Vector3d& point3D);
Matrix< double, 3, 4 > Matrix3x4d
double CalculateSquaredReprojectionError(const Eigen::Vector2d &point2D, const Eigen::Vector3d &point3D, const Eigen::Vector4d &qvec, const Eigen::Vector3d &tvec, const Camera &camera)
bool HasPointPositiveDepth(const Eigen::Matrix3x4d &proj_matrix, const Eigen::Vector3d &point3D)
Eigen::Matrix3x4d InvertProjectionMatrix(const Eigen::Matrix3x4d &proj_matrix)
double CalculateDepth(const Eigen::Matrix3x4d &proj_matrix, const Eigen::Vector3d &point3D)
bool DecomposeProjectionMatrix(const Eigen::Matrix3x4d &P, Eigen::Matrix3d *K, Eigen::Matrix3d *R, Eigen::Vector3d *T)
Eigen::Matrix3d ComputeClosestRotationMatrix(const Eigen::Matrix3d &matrix)
double CalculateNormalizedAngularError(const Eigen::Vector2d &point2D, const Eigen::Vector3d &point3D, const Eigen::Vector4d &qvec, const Eigen::Vector3d &tvec)
Eigen::Matrix3x4d ComposeProjectionMatrix(const Eigen::Vector4d &qvec, const Eigen::Vector3d &tvec)
Eigen::Vector2d ProjectPointToImage(const Eigen::Vector3d &point3D, const Eigen::Matrix3x4d &proj_matrix, const Camera &camera)
double CalculateAngularError(const Eigen::Vector2d &point2D, const Eigen::Vector3d &point3D, const Eigen::Vector4d &qvec, const Eigen::Vector3d &tvec, const Camera &camera)