有没有好的C或C ++库来处理大点云?

时间:2009-12-18 14:38:02

标签: c++ sdk point-clouds lidar

基本上,我正在寻找一个库或SDK来处理来自LIDAR或扫描仪的大点云,通常会遇到数百万个X,Y,Z,Color点。我所追求的是如下;

快速显示,缩放,平移 点云注册 快速低级访问数据 表面和实体的回归(不像其他那样重要)

虽然我不介意购买合理的商业图书馆,但我对一个非常昂贵的图书馆(例如超过大约5万美元)或者每个用户运行时许可证成本感兴趣。开源也会很好。我通过谷歌找到了一些可能性,但它们对我的预算来说都太贵了。

5 个答案:

答案 0 :(得分:6)

检查Point Cloud Library (PCL)。它是处理和操作点云的完整工具包。它还提供点云可视化工具:pcl::visualization::CloudViewer,它使用VTK库和wxWidgets

自2011年以来,我们开发了点clout翻译(读/写)和操作工具包:PDAL - Point Data Abstraction Library

答案 1 :(得分:3)

我第二次呼叫R,我一直与C ++接口(使用例如RcppRInside包)。

R更喜欢内存中的所有数据,因此您可能希望使用64位操作系统和相当数量的RAM来处理大量数据。 Task View on High-Performance Computing with R有一些关于处理大数据的指示。

最后,为了快速可视化,hexbin非常适合直观地汇总大型数据集。对于缩放等方面,请尝试rgl包。

答案 2 :(得分:2)

为什么不去看看可以直接链接到C代码的R编程语言,从而形成一个桥梁。 R的开发考虑了统计代码,但不仅可以帮助处理大型数据集,还可以将其可视化。有许多大气科学家在他们的工作中使用R.我知道,我和他们一起完成了你想要做的事情。把R看作是一个穷人的Matlab或IDL(但很快就不会。)

答案 3 :(得分:1)

在R答案的精神中,ROOT也为这种事提供了一个很好的取消框架。

可能有用的功能:

  • C ++代码库和Cint c ++解释器作为工作shell。 Python绑定。
  • 可以显示三个暗点云
  • 一组几何类(虽然我不相信它们支持您需要的所有操作)
  • 由核和粒子物理学家而不是统计学家开发:p

答案 4 :(得分:1)

Pointools的Vortex可以比你要求的数百万的点数高得多:

http://www.pointools.com/vortex_intro.php

它可以在适当的硬件上处理包含数十亿个点的许多千兆字节的文件。