2017-10-18 707 views
0

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

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

回答

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() 
+0

我使用类似于上面的例子尝试的东西。我的输入文件只是一系列点(x,y,z),我用pdal“阅读器”读取它。我一直收到的错误是“网格不支持颜色数据”。现在我不明白这是从哪里来的,因为自然堆栈跟踪显示错误在pipeline.execute()中,我不知道如何在此刻进行调试。可能这发生在filters.poisson中,但我可以找不到这个在线的任何其他实例。 – hasash