树的3d点云中的Alphashapes

时间:2019-08-23 12:48:24

标签: python geometry point-clouds convex-hull lidar

我需要帮助找到一棵树(林木)的树冠的最小封闭体积以及构成该体积的点的顶点。这可以通过为该树找到alpha形状(凹壳)来解决。我不懂C ++,所以CGAL和PCL毫无疑问。在python中有方便的方法吗?

我从scipy使用了ConvexHull

dataframe = pd.read_csv(base + direct + '\\' + file)
      #dataframe = pd.read_csv('C:\\Users\\jpps_\\Documents\\Projeto_Novo\\Cylinders_Eucaliptos_Pinheiros_Veg_Acima_15m\\cilnr19.0.csv')
        trees= dataframe[(dataframe['raw_classification']!=30) & (dataframe['intensity']!=64)][['X','Y','Z','intensity']].reset_index(drop=True)
        points = np.array(trees[['X','Y','Z']].values)            
        hull = ConvexHull(points)
        indices = hull.vertices
        vertices = points[indices]
        vert_df = pd.DataFrame(vertices,columns = ['X','Y','Z'])

我希望有一个类似的过程,但这将使我具有alpha形状。

点云img:

enter image description here

1 个答案:

答案 0 :(得分:1)

是的,请看pypi.org上的Alpha Shape Toolbox


Fig
板角投影