输出点云ply文件中每个点的三维信息的c++代码
以下是一个读取点云PLY文件并输出每个点的三维信息的C++代码示例:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
struct Point
{
float x;
float y;
float z;
};
int main()
{
std::string filename = "point_cloud.ply";
std::ifstream file(filename, std::ios::binary);
if (!file.is_open())
{
std::cerr << "Failed to open file: " << filename << std::endl;
return 1;
}
std::string line;
std::vector<Point> points;
// Read header
while (std::getline(file, line))
{
if (line == "end_header")
break;
}
// Read data
while (std::getline(file, line))
{
Point point;
file >> point.x >> point.y >> point.z;
points.push_back(point);
}
file.close();
// Output point cloud information
for (const auto& point : points)
{
std::cout << "x: " << point.x << ", y: " << point.y << ", z: " << point.z << std::endl;
}
return 0;
}
请确保将point_cloud.ply替换为实际的PLY文件名。此代码将打开PLY文件,读取文件头并跳过其余的元数据。然后,它将读取点的三维坐标,并将它们存储在points向量中。最后,它将遍历points向量并输出每个点的三维信息
原文地址: https://www.cveoy.top/t/topic/hE8T 著作权归作者所有。请勿转载和采集!