| import glob |
| import os |
| import json |
| import cv2 |
|
|
| def load_from_annos(anno_path): |
| with open(anno_path, 'r') as f: |
| annos = json.load(f)['files'] |
|
|
| datas = [] |
| for i, anno in enumerate(annos): |
| rgb = anno['rgb'] |
| depth = anno['depth'] if 'depth' in anno else None |
| depth_scale = anno['depth_scale'] if 'depth_scale' in anno else 1.0 |
| intrinsic = anno['cam_in'] if 'cam_in' in anno else None |
| normal = anno['normal'] if 'normal' in anno else None |
|
|
| data_i = { |
| 'rgb': rgb, |
| 'depth': depth, |
| 'depth_scale': depth_scale, |
| 'intrinsic': intrinsic, |
| 'filename': os.path.basename(rgb), |
| 'folder': rgb.split('/')[-3], |
| 'normal': normal |
| } |
| datas.append(data_i) |
| return datas |
|
|
| def load_data(path: str): |
| rgbs = glob.glob(path + '/*.jpg') + glob.glob(path + '/*.png') |
| |
| data = [{'rgb': i, 'depth': None, 'intrinsic': None, 'filename': os.path.basename(i), 'folder': i.split('/')[-3]} for i in rgbs] |
| return data |