Day*_*mer 4 3d graphics point-clouds point-cloud-library open3d
python 或 c++ 中是否有一个库能够以一致的方式估计点云的法线?以一致的方式,我的意思是法线的方向在表面上全局保留。
例如,当我使用 python open3d 包时:
Run Code Online (Sandbox Code Playgroud)downpcd.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid( radius=4, max_nn=300))
我得到的结果不一致,其中一些法线指向内部,而其余的则指向外部。
更新:好消息!
\n\n你打电话就可以了pcd.orient_normals_consistent_tangent_plane(k=15)。
\n并且k是 knn 图参数。
原答案:
\n就像 Mark 所说,如果你的点云来自多个深度图像,那么你可以open3d.geometry.orient_normals_towards_camera_location(pcd, camera_loc)在将它们连接在一起之前调用(假设你使用的是Open3D的 python 版本))。
但是,如果您没有该信息,您可以使用切平面算法:
\n实际上上述算法来自Hoppe 1992\nSIGGRAPH 论文Surface Reconstruction from Unorganized Points的第 3.3 节。该算法也是开源的。
\n据我所知,该算法不能保证完美的方向,但它应该足够好。
\n