误差分析学习-基于Eigen库

C++读写操作

数据在txt中长:
在这里插入图片描述

/**************************************************************************
	1.2 读取真实位姿数据"Pose.txt"   
	***************************************************************************/
	ifstream posefile;
	vector<Mat> Real_Rots;
	vector<Mat> Real_Trans;
	posefile.open("Pose.txt", ifstream::in);
	assert(testimg_idx.is_open());
	while (!posefile.eof())//不等于文件结尾
	{
		string tmp;//Pose:
		int idx;//编号
		float tran;
		Mat mat_tmp(3, 3, CV_32F);
		Mat tran_tmp(3, 1, CV_32F);
		posefile >> tmp >> idx;

		posefile >> mat_tmp.at<float>(0, 0) >> mat_tmp.at<float>(0, 1) >> mat_tmp.at<float>(0, 2) >> tran_tmp.at<float>(0, 0);
		posefile >> mat_tmp.at<float>(1, 0) >> mat_tmp.at<float>(1, 1) >> mat_tmp.at<float>(1, 2) >> tran_tmp.at<float>(1, 0);
		posefile >> mat_tmp.at<float>(2, 0) >> mat_tmp.at<float>(2, 1) >> mat_tmp.at<float>(2, 2) >> tran_tmp.at<float>(2, 0);


		Real_Rots.push_back(mat_tmp);
		Real_Trans.push_back(tran_tmp);
		//cout << mat_tmp << endl;;
		//system("pause");
	}
	posefile.close();

即数据默认是空格分割的,回车换段就行了

猜你喜欢

转载自blog.csdn.net/m0_37668446/article/details/107488826