g2o、Eigen、Mat矩阵类型转换
1. Eigen 矩阵赋值 1) 使用 row 或者 col Eigen::Matrix3d R = Eigen::Matrix3d::Identity(); R.row(0) = Eigen::Vector3d(-0.0134899,-0.997066,0.0753502); R.row(1) = Eigen::Vector3d(-0.0781018,-0.0740761,-0.99419); R.row(2) = Eigen::Vector3d(0.996854,-0.0192965,-0.0768734); 2)使用 block 注意:g2o中使用的 g2o::Matrix3D 是 typedef Eigen::Matrix<double,3,3,Eigen::ColMajor> Matrix3D; ,即还是使用的 Eigen 矩阵 g2o::Matrix3D R = g2o::Matrix3D::Identity(); R.block<2,2>(0,0) << cos(theta),-sin(theta),sin(theta),cos(theta); Se3 <-> SE3Quat Matrix3D Rbc=toEigenMatrix3d(se3bc.R()); Vector3D tbc=toG2oVector3D(se3bc.tvec); g2o::SE3Quat Tbc