Example #1
0
    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
Example #2
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])
Example #3
0
 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
Example #4
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
Example #5
0
 def calculate_pc_normals(pc_xyz):
     pc = open3d.PointCloud()
     pc.points = open3d.Vector3dVector(pc_xyz)
     open3d.estimate_normals(pc)
     pc_normals = np.asarray(pc.normals)
     return pc_normals