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