2017-10-18 706 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