正如我读到的那样,有一种XYZ格式: x y z <---在一行中 和 x y z nx ny nz&lt; ---在一行中。
如果我只使用x y z(没有法线),函数CGAL :: make_surface_mesh()会非常慢。 从PCD格式(PCL-lib)检索法线的正确方法是什么? 或者如何手动生成它(通过我自己的代码)?
答案 0 :(得分:1)
有几种估算法线的方法。一种可能性是在KdTree中插入所有点,然后从每个点获得一定数量的最近邻居。一旦得到最近的邻居,您可以将高阶曲面(二次曲面)拟合到点并计算其法线,或者您可以对点进行主成分分析并获取与最小特征值相关联的特征向量。这两种方法以及一些改进都在CGAL的点云处理包中实现:
http://doc.cgal.org/latest/Point_set_processing_3/index.html#Point_set_processing_3NormalEstimation
根据您的输入点集,不同的方法/调整将以不同的方式执行(可能需要实验/参数调整)。
注意:您也可以尝试不同的重建算法: