提交 abe2c2fb 编写于 作者: M Maria Dimashova

fixed compilation with eigen2

上级 532781e8
......@@ -49,7 +49,7 @@
#ifdef HAVE_EIGEN
#include <Eigen/Core>
#include <unsupported/Eigen/MatrixFunctions>
//#include <unsupported/Eigen/MatrixFunctions>
#include <Eigen/Dense>
#endif
......@@ -77,18 +77,18 @@ void computeProjectiveMatrix( const Mat& ksi, Mat& Rt )
{
CV_Assert( ksi.size() == Size(1,6) && ksi.type() == CV_64FC1 );
#ifdef HAVE_EIGEN
const double* ksi_ptr = reinterpret_cast<const double*>(ksi.ptr(0));
Eigen::Matrix<double,4,4> twist, g;
twist << 0., -ksi_ptr[2], ksi_ptr[1], ksi_ptr[3],
ksi_ptr[2], 0., -ksi_ptr[0], ksi_ptr[4],
-ksi_ptr[1], ksi_ptr[0], 0, ksi_ptr[5],
0., 0., 0., 0.;
g = twist.exp();
//#ifdef HAVE_EIGEN
// const double* ksi_ptr = reinterpret_cast<const double*>(ksi.ptr(0));
// Eigen::Matrix<double,4,4> twist, g;
// twist << 0., -ksi_ptr[2], ksi_ptr[1], ksi_ptr[3],
// ksi_ptr[2], 0., -ksi_ptr[0], ksi_ptr[4],
// -ksi_ptr[1], ksi_ptr[0], 0, ksi_ptr[5],
// 0., 0., 0., 0.;
// g = twist.exp();
eigen2cv(g, Rt);
#else
// eigen2cv(g, Rt);
//#else
// for infinitesimal transformation
Rt = Mat::eye(4, 4, CV_64FC1);
......@@ -100,7 +100,7 @@ void computeProjectiveMatrix( const Mat& ksi, Mat& Rt )
Rt.at<double>(0,3) = ksi.at<double>(3);
Rt.at<double>(1,3) = ksi.at<double>(4);
Rt.at<double>(2,3) = ksi.at<double>(5);
#endif
//#endif
}
static
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册