如何解析binary_compressed点云?

How to parse binary_compressed point cloud?

我想解析 javascript 中的 binary_compressed 点云文件。

我发现,在 writeBinaryCompressed() points are 'Convert the XYZRGBXYZRGB structure to XXYYZZRGBRGB to aid compression', but I don't understand what does in mean. Also, I found that in parsing method 点 'Unpack the xxyyzz to xyz'.

这是什么意思?解压后如何解析积分?

在PCL中,点云被表示为一个结构数组(AoS),这意味着一个点的所有字段在内存中依次出现,然后是下一个点的字段,并且很快。这与数组结构 (SoA) 布局形成对比,其中首先写入每个点的所有 x 坐标,然后写入所有 y 坐标,依此类推。您可以在 Wikipedia article.

中找到有关这些布局的更多信息和动机

话虽这么说,我已经实现了 three.js 的 PCD 文件加载器,它可以处理二进制压缩格式,您可能会发现它 here. Specifically, decompression and unpacking happens in lines 96-112