有没有一些处理大型点云的好的C或C++库?

7
基本上,我正在寻找用于处理来自LIDAR或扫描仪的大型点云的库或SDK,通常包含许多X、Y、Z、颜色等多个百万点。我的需求如下:
快速显示、缩放、平移 点云配准 快速低级别数据访问 曲面和固体回归(不像其他要求那么重要)
虽然我不介意为合理的商业库付费,但我对非常昂贵的库(例如超过约5,000美元)或每个用户运行时许可证成本的库不感兴趣。开源也是一个好选择。通过谷歌我找到了一些可能性,但它们都对我的预算来说太昂贵了。
5个回答

6
请查看点云库(PCL)http://pointclouds.org/,它是一个用于处理和操纵点云的完整工具包,还提供了点云可视化工具:pcl::visualization::CloudViewer,它使用VTK库和wxWidgets。自2011年以来,点云转换(读/写)和操作工具包也得到了开发:PDAL-Point Data Abstraction Library

1
我想补充一下,CloudViewer有点“简单”。如果你需要做一些花哨的事情,大多数情况下你必须直接使用PCLVisualizer - Adri C.S.

3
我赞同使用R,我经常使用C++与之交互(例如使用RcppRInside包)。 R更喜欢将所有数据存储在内存中,因此您可能需要64位操作系统和足够的RAM来处理大量数据。 高性能计算任务视图提供了一些处理大数据的指导。
最后,对于快速可视化,hexbin非常适合对大型数据集进行可视化概述。如果需要缩放等功能,则可以尝试rgl包。

2
为什么不去看看R编程语言呢?它可以直接链接到C代码,从而形成一个桥梁。R是针对统计代码开发的,但不仅可以很容易地处理大型数据集,还可以将其可视化。有相当多的大气科学家正在使用R进行研究。我知道,我和他们一起工作,正是为了你正在尝试做的事情。把R看作是一个穷人版的Matlab或IDL(但很快就不会了)。

1

为了回答这个问题,ROOT也提供了一个很好的框架。

可能有用的特性:

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

1

Vortex引擎确实很好,但据我所见,许可证似乎相当昂贵和复杂。 - SmacL
1
我不知道现在Bentley收购了这些东西后会怎样,但是给他们发电子邮件询问一下他们能为你做些什么可能是值得的。 - ahcox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接