【问题标题】:Any good C or C++ libraries out there for dealing with large point clouds? [closed]有什么好的 C 或 C++ 库可以处理大型点云吗? [关闭]
【发布时间】:2010-12-28 01:35:15
【问题描述】:

基本上,我正在寻找一个库或 SDK 来处理来自激光雷达或扫描仪的大型点云,通常会遇到数百万个 X、Y、Z、颜色的点。我所追求的如下;

快速显示、缩放、平移 点云配准 对数据的快速低级访问 曲面和实体的回归(不如其他重要)

虽然我不介意为合理的商业库付费,但我对非常昂贵的库(例如超过 5000 美元)或每个用户运行时许可成本的库不感兴趣。开源也不错。我通过谷歌找到了一些可能性,但对于我的预算来说,它们都太贵了。

【问题讨论】:

    标签: c++ sdk point-clouds lidar


    【解决方案1】:

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

    自 2011 年以来,已经开发了点影响力翻译(读/写)和操作工具包:PDAL - Point Data Abstraction Library

    【讨论】:

    • 我要补充一点,CloudViewer 有点“简单”。如果你需要做一些花哨的事情,大部分情况下你必须直接去PCLVisualizer
    【解决方案2】:

    我支持 R 的调用,我一直与 C++ 交互(使用例如 RcppRInside 包)。

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        本着 R 答案的精神,ROOT 也为这类事情提供了一个很好的取消删除框架。

        可能有用的功能:

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

        【讨论】:

          【解决方案5】:

          Pointools 的 Vortex 可以达到比您要求的数百万更高的点数:

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

          它可以在普通硬件上处理包含数十亿点的数 GB 文件。

          【讨论】:

          • Vortex 确实是一个不错的引擎,但就我所见,许可似乎相当昂贵并且涉及。
          • 我不知道他们现在被 Bentley 收购的情况如何,但值得发邮件看看他们能为您做什么。
          猜你喜欢
          • 2010-10-31
          • 1970-01-01
          • 2011-03-29
          • 1970-01-01
          • 1970-01-01
          • 2011-01-12
          • 2023-03-14
          • 1970-01-01
          相关资源
          最近更新 更多