Javascript 如何解析二进制压缩点云?

Javascript 如何解析二进制压缩点云?,javascript,point-cloud-library,point-clouds,Javascript,Point Cloud Library,Point Clouds,我想用javascript解析二进制压缩的点云文件 我发现,其中的要点是“将XYZRGBGXYZRGB结构转换为XXYYZZRGBRGB以帮助压缩”,但我不明白这意味着什么。而且,我发现在一些方面 '将xxyyzz解包到xyz' 这是什么意思?解压后如何解析点?在PCL中,点云表示为一个结构数组(AoS),这意味着一个点的所有字段在内存中一个接一个,然后是下一个点的字段,依此类推。这与阵列结构(SoA)布局形成对比,在SoA布局中,首先写入每个点的所有x坐标,然后写入所有y坐标,依此类推。您可以

我想用javascript解析二进制压缩的点云文件

我发现,其中的要点是“将XYZRGBGXYZRGB结构转换为XXYYZZRGBRGB以帮助压缩”,但我不明白这意味着什么。而且,我发现在一些方面 '将xxyyzz解包到xyz'


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

在PCL中,点云表示为一个结构数组(AoS),这意味着一个点的所有字段在内存中一个接一个,然后是下一个点的字段,依此类推。这与阵列结构(SoA)布局形成对比,在SoA布局中,首先写入每个点的所有x坐标,然后写入所有y坐标,依此类推。您可以在中找到这些布局的更多信息和动机


也就是说,我有一个针对three.js的PCD文件加载器的实现,可以处理二进制压缩格式,您可能会发现它。具体来说,解压和解包发生在中。

感谢您的回答!您是否通过three.js打开测试数据来测试二进制压缩模型解析的实现?您将二进制文件压缩为AoS进行解析,但我认为它是作为SoA编写的,我们必须将其解析为SoA。我已经用three.js打开了xyzrgb_binary_compressed.pcd模型,其中包含您的实现:,以及我的:。正如您所看到的,您的实现中的点位置是错误的。我说的对吗?但即使使用我的实现,我也无法从中打开二进制压缩模型。在解析模型时,我在坐标中有NAN。这里有一个
data/
文件夹和相关的单元测试;他们通过我的机器。去年,这个加载器在生产和IIRC中也使用了压缩文件。不幸的是,已经有一段时间了,我现在没有时间来研究这个问题。关于AoS/SoA:不,在二进制压缩模式下,我确实解析为SoA,请注意偏移量变量是如何初始化的。嗨,@tom,你解决问题了吗?我有一个类似的问题与二进制压缩PCD。所有要点看起来都不错,但我对颜色有问题。你能帮助我吗?