代码之家  ›  专栏  ›  技术社区  ›  Vyacheslav

生成XYZ格式的点云,以便在GLAP中使用

  •  0
  • Vyacheslav  · 技术社区  · 9 年前

    正如我所读到的,有一种XYZ格式: x y z<---在一条线上 和 x y z nx ny nz<---在一行中。

    如果我只使用x y z(没有法线),那么函数CGAL::make_surface_mesh()非常慢。 从PCD格式(PCL-lib)检索法线的正确方法是什么? 或者如何手动生成(通过我自己的代码)?

    1 回复  |  直到 9 年前
        1
  •  1
  •   BrunoLevy    9 年前

    有几种方法可以估计法线。一种可能性是在KdTree中插入所有点,然后从每个点获得一定数量的最近邻居。一旦获得最近的邻居,您可以将高阶曲面(二次曲面)拟合到点并计算其法线,也可以对点进行主成分分析并获取与最小特征值相关的特征向量。这两种方法以及若干改进都在CGAL的点云处理包中实现:

    http://doc.cgal.org/latest/Point_set_processing_3/index.html#Point_set_processing_3NormalEstimation

    根据您的输入点集,不同的方法/调整将执行不同的操作(可能需要实验/参数调整)。

    注意:您也可以尝试不同的重建算法:

    http://doc.cgal.org/latest/Surface_reconstruction_points_3/