欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

视觉SLAM—Eigen库

程序员文章站 2022-06-03 16:08:44
...

一:常用基本类型

Eigen::Matrix3d——3*3矩阵

Eigen::Matrix3d::Identity()——3*3单位矩阵

Eigen::Vector3d——3*1向量

Eigen::Isometry3d——4*4变换矩阵(T)

二:与cv::Mat的转换

Eigen转Mat

Eigen::Matrix3d R_;
cv::Mat R(3,3);
R=(Mat_<double>(3,3)<<
R_(0,0),R_(0,1),R_(0,2),
R_(1,0),R_(1,1),R_(1,2),
R_(2,0),R_(2,1),R_(2,2));

Mat转Eigen

Eigen::Matrix3d R_;
R_<<
R.at<double>(0,0),R.at<double>(0,1),R.at<double>(0,2),
R.at<double>(1,0),R.at<double>(1,1),R.at<double>(1,2),
R.at<double>(2,0),R.at<double>(2,1),R.at<double>(2,2);

函数:recoverpose(对极几何)计算的结果是cv::Mat形式的 R, t ; 

   solvePnP(pnp),solvePnPRansac(pnp) 计算的结果是cv::Mat的t和旋转向量形式的r,可以通过cv::Rodrigues(r,R)转化为cv::Mat的R;

           SVD(ICP)计算的U,V,R,t结果都是Eigen的形式R,t。