Python中无序点云的曲面重构

时间:2017-10-18 16:15:30

标签: python point-clouds surface concave-hull

我有一组无序的3D点云,我想在Python中对它们进行表面重建。我试过Meshlab,我看过scipy的凸壳。但是,我使用的点云并没有描述凸形。我也熟悉CGAL和PCL,但我需要一个Python解决方案(就像我可以简单地导入到我的脚本中的库),因为我的项目需要这个。

我将这个问题作为最后的手段。除了自己实施表面重建算法之外,我还不知道还能做些什么。我本质上是在寻找一个表面重建算法的Python实现,用于无序点云,不一定描述凸对象。

1 个答案:

答案 0 :(得分:0)

PDAL库有一个执行Poisson reconstruction的过滤器。您还可以使用PDAL Python extension直接在Python脚本中定义PDAL管道。从那里,您可以获得Numpy数组。

您的工作流程可能类似于

json = """
{
  "pipeline": [
    "input.las",
    {
      "type": "filters.normal"
    },
    {
      "type": "filters.poisson"
    }
  ]
}"""

import pdal
pipeline = pdal.Pipeline(json)
pipeline.validate() # check if our JSON and options were good
count = pipeline.execute()