我在二维中散布了点云。我的问题是我想获得边界点来获得点云的轮廓。
我知道这个“行进广场”,但是这个算法通常用于 2d 中的像素。任何人都知道如何从二维点云或“行进广场”算法的细节中获取轮廓?此外,凸包在我的情况下不起作用。
提前致谢。
我在二维中散布了点云。我的问题是我想获得边界点来获得点云的轮廓。
我知道这个“行进广场”,但是这个算法通常用于 2d 中的像素。任何人都知道如何从二维点云或“行进广场”算法的细节中获取轮廓?此外,凸包在我的情况下不起作用。
提前致谢。
我认为 2D“Alpha 形状”算法将是您的正确选择。
http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Alpha_shapes_2/Chapter_main.html
Alpha 形状可以被认为是“凸壳”算法的概括,它允许生成更一般的形状。
通过使用 alpha 形状,您将可以通过更改 alpha 参数值来控制最终形状要捕获的细节级别。
您可以在这里尝试 Java 小程序:http: //cgm.cs.mcgill.ca/~godfried/teaching/projects97/belair/alpha.html
更好地了解该算法是否有效。
我建议使用Delaunay 三角剖分作为基本算法,然后删除所有太大的三角形(从而将云分成组),然后删除多个三角形使用的所有边。