def draw_pc(pc_xyzrgb): pc = open3d.PointCloud() pc.points = open3d.Vector3dVector(pc_xyzrgb[:, 0:3]) if pc_xyzrgb.shape[1] == 3: open3d.draw_geometries([pc]) return 0 if np.max(pc_xyzrgb[:, 3:6]) > 20: ## 0-255 pc.colors = open3d.Vector3dVector(pc_xyzrgb[:, 3:6] / 255.) else: pc.colors = open3d.Vector3dVector(pc_xyzrgb[:, 3:6]) # Default behavior: show pcl # open3d.draw_geometries([pc]) # Aljosa: store image path = "/tmp/test.png" vis = open3d.visualization.Visualizer() vis.create_window() vis.add_geometry(pc) vis.update_geometry() vis.poll_events() vis.update_renderer() vis.capture_screen_image(path) vis.destroy_window() return 0
def semantic_ply(points, labels): pc = open3d.PointCloud() pc.points = open3d.Vector3dVector(points) # ins_colors = Plot.random_colors(len(np.unique(labels)) + 1, seed=2) # cls 21 ins_colors = Plot.random_colors(21, seed=2) label_color = [] for i in range(len(labels)): laa = ins_colors[labels[i, 0]] label_color.append(laa) pc.colors = open3d.Vector3dVector(label_color) open3d.draw_geometries([pc])
def draw_pc(pc_xyzrgb): pc = open3d.PointCloud() pc.points = open3d.Vector3dVector(pc_xyzrgb[:, 0:3]) if pc_xyzrgb.shape[1] == 3: open3d.draw_geometries([pc]) return 0 if np.max(pc_xyzrgb[:, 3:6]) > 20: # 0-255 pc.colors = open3d.Vector3dVector(pc_xyzrgb[:, 3:6] / 255.) else: pc.colors = open3d.Vector3dVector(pc_xyzrgb[:, 3:6]) open3d.draw_geometries([pc]) return 0
def draw_pc(pc_xyzrgb, idx): pc = open3d.PointCloud() pc.points = open3d.Vector3dVector(pc_xyzrgb[:, 0:3]) if pc_xyzrgb.shape[1] == 3: open3d.draw_geometries([pc]) return 0 if np.max(pc_xyzrgb[:, 3:6]) > 20: ## 0-255 pc.colors = open3d.Vector3dVector(pc_xyzrgb[:, 3:6] / 255.) else: pc.colors = open3d.Vector3dVector(pc_xyzrgb[:, 3:6]) #open3d.write_point_cloud("./image_test/{}.pcd".format(idx), pc) open3d.draw_geometries([pc]) return 0