.dat文件三维点云可视化

您所在的位置:网站首页 三维数据模型文件转化为二维文件 .dat文件三维点云可视化

.dat文件三维点云可视化

2024-07-16 05:14| 来源: 网络整理| 查看: 265

我们做点云重建,很多情况下激光扫描仪回传的点云数据是保存为.txt或者.dat的,而并非PCL所支持的PCD格式,这个时候就需要我们自行写代码进行读取

.dat文件读取

我们的点云数据文件如下所示,为二进制.dat文件,其中每一行是二维扫描仪线扫的数据,这么多行是因为云台转动得到的三维扫描数据。其中每一行的前52个字节是一些校验码等无效数据,我们需要自己写代码进行读取。 这里写图片描述 C++读取.dat文件没什么难度,重点是有个技巧需要知道,就是这个数据每4个字节是一个int型数据代表了点距离扫描仪的距离,因此我读取的时候必须每次读取4字节的16进制数存入一个int型变量。采用的方法如下:

int dst_temp; for (int m = 0; m < 4; m++) { char *p = (char *)&dst_temp; dataFile.read(p + 3 - m, sizeof(char)); }

思路就是,对一个int变量进行取址,将其地址强制转成char*,那么,这个指针char* p指向的就是int的首地址,我们每次读取一位,读四次刚好存满这个int。由于int存储的时候是先低位后高位,因此我们需要将先读的放到后面,后读的放到前面。上程序就是完成这个读取。 完整代码如下:

#include #include


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3