一、Eigen
提供了快速的矩阵线性代数运算,矩阵、向量、旋转矩阵、变换矩阵。
Eigen是纯头文件搭建成的库,使用时只需引入Eigen的头文件即可,不需要链接库文件target_link。
#include <Eigen>
CMakeLists.txt需要添加头文件
include_directories("/user/include/eigen3");
1、基本运算
声明部分:
//Eigen只关心三个参数:数据类型,行,列
Matrix<float,2,3> matrix_23;
//向量3*1
Vector3d v_3d;
//矩阵3*3
Matrix3d matrix_33;
matrix_33=Matrix3d::Zero();
matrix_33=Matrix3d::Random();
matrix_33=Matrix3d::Identity();
//矩阵x*x
MatrixXd matrix_x;
//动态矩阵
Matrix<double,Dynamic,Dynamic> matrix_dynamic;
赋值
matrix_23<<1,2,3,4,5,6;
v_3d<<1,2,3;
显式转换(将原来float转为doube)
Matrix<double,2,1> result=matrix_23.cast<double>()*v_3d; <

本文深入探讨了视觉SLAM中的两个关键数学库——Eigen和Sophus。Eigen是一个用于快速矩阵线性代数运算的纯头文件库,包括矩阵、向量等操作,而Sophus则是一个专门处理SO(3)和SE(3)李代数的库,用于描述三维空间的旋转和平移。文章详细介绍了Eigen的基本运算和几何模块,以及Sophus中涉及的旋转矩阵、四元数等概念。
最低0.47元/天 解锁文章
792

被折叠的 条评论
为什么被折叠?



