【问题标题】:Algorithm for calculating the volume of the part of point cloud计算部分点云体积的算法
【发布时间】:2016-06-28 12:05:03
【问题描述】:

我正在参与与点云相关的项目研究。

我们必须创建一个 Web 应用程序。谁的任务将显示 .ply 文件中的点云。然后选择一个区域并计算其体积。计算体积的算法将在 C++ 中实现。我们唯一拥有的是 .ply 格式的文件和包含所有点的 XYZ 坐标的文件。我们得到的点云是从无人机拍摄的照片中生成的。例如,它是代表山区的点云。我们的任务是能够选择这样一座山,并在考虑误差 +/- 的情况下计算其近似体积。测量不一定是完美的,但它必须更接近山的真实体积。体积必须从山的最低点的平面计算。

我有两个问题要问你。 -首先,你能否给我一个线索、链接或任何可以帮助我找到这样一个算法以及他是最好的原因的东西。 -其次,你们有没有人知道从渲染点云中选择某个区域的最佳方法是什么?

我正在寻找此信息。但是我找不到任何有用的东西来在我们的项目中使用它。有关该主题的任何提示或文档都将非常有用;)

【问题讨论】:

  • 你的点是不是偶然出现在等间距的 x-y 网格上?

标签: c++ algorithm volume point-clouds


【解决方案1】:

“体积”对于点云来说不是一个明确定义的概念。确定曲面的方法有很多种,没有单一的答案。这在很大程度上取决于定义点云表面的约束条件。

一种非常简单的方法是简单地使用所有三个轴上的最小和最大坐标值,从而给出一个包含所有点的右长方体的体积。

更复杂的方法是计算最小凸包络。这是一个不平凡的问题。

如果你试图找到一个不一定是凸的信封,那就更难了。

在任何情况下,重要的是要准确确定“体积”的含义,然后才能制定有效的算法来计算它。

【讨论】:

  • 是的。你是对的,我没有具体说明我的意思。我们得到的点云是从无人机拍摄的照片中生成的。例如,它是代表山区的点云。我们的任务是能够选择这样一座山,并在考虑误差 +/- 的情况下计算其近似体积。测量不一定是完美的,但它必须更接近真实的山体体积。体积必须从山体最低点的平面计算。
【解决方案2】:

当您使用“从无人机拍摄的照片”生成的点云时(我在这里假设您的意思是:无人机图像上的摄影测量过程):

  • 第一:

看看:

This

或者尝试自己开发一些基于octrees 的方法。

如果您想开发自己的方法,并且想要在 c++ 中使用,请查看: ThisThis

  • 第二:

我不确定我是否理解这个问题,但在我看来,选择感兴趣区域以执行计算的最佳方法是通过用户交互(让用户选择该区域周围的点并计算之间的剩余点)。

  • 额外

以防万一您还不知道,我向所有从事 PointCloud 相关工作的人推荐 CloudCompare

希望此链接对您有所帮助。

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    相关资源
    最近更新 更多