创建一个平面和长方形体,采样转换为点云
对mesh进行采样,变换为点云
import time
import open3d as o3d;
import numpy as np;
mesh_box = o3d.geometry.TriangleMesh.create_box(width=0.4,
height=0.6,
depth=0.11)
mesh_box.compute_vertex_normals()
mesh_box.paint_uniform_color([0.9, 0.1, 0.1])
mesh_tx = mesh_box.translate((0.16, 0.15, 0))
#o3d.visualization.draw_geometries([mesh_box])
mesh_box_Floor = o3d.geometry.TriangleMesh.create_box(width=0.9,
height=0.9,
depth=0.005)
mesh_box_Floor.compute_vertex_normals()
mesh_box_Floor.paint_uniform_color([0.3, 233.3, 0.2])
pcdmesh=mesh_tx +mesh_box_Floor
#均匀采样5000个点
pcd = pcdmesh.sample_points_uniformly(number_of_points=5000)
o3d.visualization.draw_geometries([ pcd],window_name="pcd")
#泊松采样5000个点,边缘点分布更加均匀,但是耗时更长
pcd = pcdmesh.sample_points_poisson_disk(number_of_points=5000, init_factor=10)
o3d.visualization.draw_geometries([ pcd],window_name="pcd")