File size: 1,068 Bytes
fadb92b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import argparse
import os

from PointCloudReaderPanorama import PointCloudReaderPanorama
from tqdm import tqdm


def config():
    a = argparse.ArgumentParser(description="Generate point cloud for Structured3D")
    a.add_argument(
        "--data_root", default="Structured3D_panorama", type=str, help="path to raw Structured3D_panorama folder"
    )
    args = a.parse_args()
    return args


def main(args):
    print("Creating point cloud from perspective views...")
    data_root = args.data_root
    data_parts = os.listdir(data_root)

    for part in tqdm(data_parts):
        scenes = os.listdir(os.path.join(data_root, part, "Structured3D"))
        for scene in tqdm(scenes):
            scene_path = os.path.join(data_root, part, "Structured3D", scene)
            reader = PointCloudReaderPanorama(scene_path, random_level=0, generate_color=True, generate_normal=False)
            save_path = os.path.join(data_root, part, "Structured3D", scene, "point_cloud.ply")
            reader.export_ply(save_path)


if __name__ == "__main__":
    main(config())