//定义3D点的结构体
struct Point3D
{
float x;
float y;
float z;
};
/*----------------------------
* 功能 : 读取一个txt中的数据,将数据放入vector中
*----------------------------
* 函数 : ReadData
* 参数 : str [in] 需要读的txt文件名
* 参数 : Data [in] 读取xt文件数据存放在Data中
*/
int ReadData(const char* str, vector<Point3D>&Data)
{
fstream ReadDataTxt;
float X, Y, Z; //用于读取TXT中的数据
Point3D param; //创建一个用于存储X,Y,X的Point3D结构体
ReadDataTxt.open(str);
while (ReadDataTxt >> X >> Y >> Z)
{
if (Z >= 400)
{
param.x = X;
param.y = Y;
param.z = Z;
Data.push_back(param);
}
else
{
continue;
}
}
ReadDataTxt.close();
return 0;
}
/*----------------------------
* 功能 : 向一个txt中写数据
*----------------------------
* 函数 :WriteData
* 参数 : str [in] 需要写的txt文件名
* 参数 : Data [in] 需要写的txt文件数据存放在Data中
*/
int WriteData(string str, vector<Point3D>&Data)
{
fstream WriteTXT;
WriteTXT.open("11.txt");
for (int i = 0; i < Data.size(); i++)
{
if (Data[i].x!=0)
{
WriteTXT << Data[i].x << " " << Data[i].y << " " << Data[i].z << endl;
}
}
WriteTXT.close();
return 0;
}
C++实现向从txt中读3D点云数据以及向txt中写入3D点云数据
最新推荐文章于 2024-06-11 15:51:56 发布