04.txt文件介绍:04.txt包含271行12列数据,0-270行数据代表0-270秒对应的相机位置和姿态的变换信息,12列数据对应4*4变换矩阵的前三行数据,顺序为从左到右、从上到下。
思路:
1.调用egien库的矩阵类,创建一个4*4的矩阵对象tr_matrix0
2.创建一个指向<Eigen::Matrix4d>类的vector,
3.读04.txt的一行数据到tr_matrix0对象里,并给最后一行赋值 0 0 0 1
4.将tr_matrix0对象push_back到vector
5.如果文件没有读完,则循环3、4步直到读完数据。
代码:
#include <iostream>
#include <eigen3/Eigen/Dense>
#include <fstream>
#include <string>
#include <cstring>
#include <vector>
using namespace std;
int main()
{
//声明数据类型为矩阵的数组
//Eigen::Matrix<double,4,4> tr_matrix0[271];
Eigen::Matrix4d tr_matrix0[271];
vector<Eigen::Matrix4d> tr_matrix;
//读数据
ifstream myfile("/home/slam/dataset/04.txt");
if (!myfile.is_open())
{
cout << "can not open this file" << endl;
return 0;
}
for (in