我在windows上使用open3d的python3。它是通过pip通过‘pip install open3d-python’安装的。我检查了文档,我的脚本似乎一切正常,它试图将点云文件(.ply)转换为网格文件(.stl)。然而,在执行时,我得到一个属性错误:'open3d.open3d.geometry。PointCloud没有属性estimate_normals。任何帮助将不胜感激。 谢谢你! 这是我的脚本
import open3d as o3d
import trimesh
import numpy as np
pcd = o3d.io.read_point_cloud("pointcloud.ply")
pcd.estimate_normals()
#pcd = pcd2.normals
# estimate radius for rolling ball
distances = pcd.compute_nearest_neighbor_distance()
avg_dist = np.mean(distances)
radius = 1.5 * avg_dist
mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_ball_pivoting(pcd,o3d.utility.DoubleVector([radius, radius * 2]))
trimesh = trimesh.Trimesh(np.asarray(mesh.vertices), np.asarray(mesh.triangles),vertex_normals=np.asarray(mesh.vertex_normals))
trimesh.export('stuff.stl')
我在什么地方读到过,从源代码编译原始包就可以做到这一点,但我是mac用户,我正在Windows上尝试这样做,所以我不知道如何做到这一点。这里是包的github链接https://github.com/intel-isl/Open3D 问题来源StackOverflow 地址:/questions/59384134/open3d-python-issue-no-attribute-estimate-normals
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。