STL в pointcloud
Я пытаюсь преобразовать файл stl в точки, используя open3d lib.
mesh = o3d.io.read_triangle_mesh("./stl.stl")
pcd = o3d.geometry.PointCloud()
pcd.points = mesh.vertices
pcd.colors = mesh.vertex_colors
pcd.normals = mesh.vertex_normals
Проблема в том, что мне нужно загрузить mesh.surfaces вместо вершин, но я не вижу объект open3d.open3d.geometry.TriangleMesh.Surface. Мне нужно выровнять поверхности вместо вершин.
Как получить точки из треугольной сетки?
1 ответ
Решение
Это может помочь:
open3d.geometry.sample_points_uniformly(input, number_of_points=100)
Function to uniformly sample points from the mesh.
Parameters
input (open3d.geometry.TriangleMesh) – The input triangle mesh.
number_of_points (int, optional, default=100) – Number of points that should be uniformly sampled.
Returns
open3d.geometry.PointCloud