Question

在用python做三维点云重建的时候遇到了这样一个问题RuntimeError: [Open3D ERROR] ReconstructBallPivoting requires normals
原因是点云本身自带的法向量信息由于某些原因丢失了

Solution

解决方案如下:
1.用meshlab打开此点云文件
2.Filters —> Normals, Curvatures and Oriantation —> compute normals for point sets 如下图所示RuntimeError: [Open3D ERROR] ReconstructBallPivoting requires normals
Number of neigbors默认值是10,一般就用这个值就可以了(具体功能我也不懂……慢慢调吧)
3.点击apply
RuntimeError: [Open3D ERROR] ReconstructBallPivoting requires normals

4.Filters —> Remeshing simplification and reconstruction—> surface Reconstruction Ball Pivoting
RuntimeError: [Open3D ERROR] ReconstructBallPivoting requires normals
5.参数根据需要自己调节
RuntimeError: [Open3D ERROR] ReconstructBallPivoting requires normals
6.file—> save as保存,记得最后勾选上normal
RuntimeError: [Open3D ERROR] ReconstructBallPivoting requires normals

Addition

点击wireframe可查看重建效果
RuntimeError: [Open3D ERROR] ReconstructBallPivoting requires normals

reference

meshlab计算点云法向量

相关文章: