点云数据的读取(las、txt、xyz格式)
老友记第十季
主要实现las格式、txt格式、xyz格式点云⽂件的读取及显⽰
四级考试时间分配表(1)las点云数据直接使⽤编译好的LibLAs库进⾏读取
std::ifstream ifs;
std::ifstream ifs;
ifs.open(path, std::ios::in | std::ios::binary);
if (!ifs)
{
高一家长会ppt
比较好的英语培训机构有哪些cout << "打开失败!" << endl;
}
liblas::ReaderFactory f;
dragon danceliblas::Reader reader = f.CreateWithStream(ifs);
liblas::Header const& header = reader.GetHeader();
double maxX = header.GetMaxX();
double minX = header.GetMinX();guanqi
double maxY = header.GetMaxY();
ikko
double minY = header.GetMinY();
double maxZ = header.GetMaxZ();
double minZ = header.GetMinZ();
int n=header.GetPointRecordsCount();//获取总的点数
double x = 0, y = 0, z = 0;
while (reader.ReadNextPoint())//循环读取las⽂件中的点
{
liblas::Point const& laspoint = reader.GetPoint();
x = laspoint.GetX();
uniforms>ugty = laspoint.GetY();
z = laspoint.GetZ();
}
ifs.clo();
(2)txt格式与xyz格式数据的读取,主要了解其数据结构就OK啦
称呼英文txt格式数据⼀般每⾏有3列数据,分别为点的 x,y,z坐标,可以以空格、逗号等分隔,读取的时候注意区别就⾏; xyz格式数据⼀般每⾏有6列数据,前3列分别为点的 x,y,z坐标,后3列为点的法向量,⼀般以空格分隔;
这两种数据读取代码⽐较简单就不做⽰范了!