binary - 将二进制激光雷达数据 (.bin) 转换为点云数据 (.pcd) 格式

标签 binary point-clouds lidar

我有一个使用 Velodyne-128 以 .bin 格式收集的激光雷达数据。我需要将它转换成 pcd 格式。我使用 NVIDIA Driveworks 进行数据处理,但没有将激光雷达二进制数据转换为 pcd 的工具。

那么,有没有办法将二进制激光雷达数据转换成pcd格式?

最佳答案

这是将激光雷达数据(.bin 格式)转换为 .pcd 格式的片段

with open ("lidar_velodyne64.bin", "rb") as f:
    byte = f.read(size_float*4)
    while byte:
        x,y,z,intensity = struct.unpack("ffff", byte)
        list_pcd.append([x, y, z])
        byte = f.read(size_float*4)
np_pcd = np.asarray(list_pcd)
pcd = o3d.geometry.PointCloud()
v3d = o3d.utility.Vector3dVector
pcd.points = v3d(np_pcd)

根据例子here ,您可以将其保存到文件中,如下所示:

import open3d as o3d
o3d.io.write_point_cloud("copy_of_fragment.pcd", pcd)

关于binary - 将二进制激光雷达数据 (.bin) 转换为点云数据 (.pcd) 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60506331/

相关文章:

c++ - 如何从我自己的图像中提取 PCD 文件?

python - 将稀疏 2D LiDAR 图像修复为密集深度图像

c# - 按位运算符让我见鬼去吧

boost - 如何读取/转换 stanford bunny .ply-files 的范围图像?

c - C中是否可以确定64位数字的具体数字

three.js - 我可以从深度和 rgb 图像创建点云吗?

ios - 有什么方法可以从 LiDAR iOS14 导出点云数据?

python - libLAS Python API 中的浮点舍入

c++ - 截断二进制数

c++ - 写入二进制文件?