示例#1
0
def main():
    color_files, depth_files, traj, intrinsics = get_realsense_data()
    axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2)
    axis_frame.translate([0, 0.8, -0.7])
    grid_ls = construct_grid(size=2,
                             n=20,
                             plane_offset=-0.8,
                             translate=[0, 1.0, 0.0])
    for idx in range(len(color_files)):
        if idx < 2:
            continue
        pcd, rgbd, extrinsics = get_frame_data(idx,
                                               color_files,
                                               depth_files,
                                               traj,
                                               intrinsics,
                                               stride=2)
        center = pcd.get_center() if o3d_major_version > 9 else True
        pcd = pcd.rotate(R_Standard_d400[:3, :3], center=center)

        logging.info("File %r - Point Cloud; Size: %r", idx,
                     np.asarray(pcd.points).shape[0])
        o3d.visualization.draw_geometries([pcd, grid_ls, axis_frame])
        results = run_test(pcd,
                           rgbd,
                           intrinsics,
                           extrinsics,
                           callback=callback,
                           stride=2)
示例#2
0
def callback(alg_name, execution_time, mesh=None):
    axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2)
    axis_frame.translate([0, 0.8, -0.7])
    grid_ls = construct_grid(size=2, n=20, plane_offset=-0.8, translate=[0, 1.0, 0.0])
    logging.info("%s took (ms): %.2f", alg_name, execution_time)
    if mesh:
        if isinstance(mesh, list):
            o3d.visualization.draw_geometries(
                [*mesh], width=800, height=500)
        else:
            o3d.visualization.draw_geometries([mesh], width=800, height=500)
def main():
    axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2)
    axis_frame.translate([0, 0.8, -1.0])
    grid_ls = construct_grid(size=2,
                             n=20,
                             plane_offset=-1.0,
                             translate=[0, 0.0, 0.0])

    mesh = o3d.io.read_triangle_mesh('fixtures/meshes/Table_edit.ply')
    mesh.compute_vertex_normals()

    run_test(mesh, callback=callback, stride=2)
示例#4
0
def main():
    axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2)
    axis_frame.translate([0, 0.8, -1.0])
    grid_ls = construct_grid(size=2,
                             n=20,
                             plane_offset=-1.0,
                             translate=[0, 0.0, 0.0])
    for i, mesh in enumerate(get_mesh_data_iterator()):
        if i < 2:
            continue
            # o3d.io.write_triangle_mesh('test.ply', mesh)

        run_test(mesh, callback=callback, stride=2)
示例#5
0
def main():
    axis_frame = o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.2)
    axis_frame.translate([0, 0.8, -1.0])
    grid_ls = construct_grid(size=2,
                             n=20,
                             plane_offset=-1.0,
                             translate=[0, 0.0, 0.0])

    polylidar_kwargs_basement = dict(alpha=0.0,
                                     lmax=0.10,
                                     min_triangles=80,
                                     z_thresh=0.08,
                                     norm_thresh=0.95,
                                     norm_thresh_min=0.95,
                                     min_hole_vertices=6)

    config_pp_basement = dict(filter=dict(hole_area=dict(min=0.05, max=100.0),
                                          hole_vertices=dict(min=6),
                                          plane_area=dict(min=0.25)),
                              positive_buffer=0.0,
                              negative_buffer=0.025,
                              simplify=0.01)

    polylidar_kwargs_mainfloor = dict(alpha=0.0,
                                      lmax=0.10,
                                      min_triangles=1000,
                                      z_thresh=0.08,
                                      norm_thresh=0.95,
                                      norm_thresh_min=0.95,
                                      min_hole_vertices=6)

    config_pp_main_floor = dict(filter=dict(hole_area=dict(min=0.1, max=100.0),
                                            hole_vertices=dict(min=6),
                                            plane_area=dict(min=0.25)),
                                positive_buffer=0.02,
                                negative_buffer=0.05,
                                simplify=0.02)

    polylidar_kwargs = [
        polylidar_kwargs_mainfloor, None, polylidar_kwargs_basement
    ]
    config_pp = [config_pp_main_floor, None, config_pp_basement]

    for i, mesh in enumerate(get_mesh_data_iterator()):
        if i == 1:
            continue
        run_test(mesh,
                 callback=callback,
                 polylidar_kwargs=polylidar_kwargs[i],
                 config_pp=config_pp[i])