Metric3D / mono /utils /custom_data.py
zach
initial commit based on github repo
3ef1661
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')
#intrinsic = [835.8179931640625, 835.8179931640625, 961.5419921875, 566.8090209960938] #[721.53769, 721.53769, 609.5593, 172.854]
data = [{'rgb': i, 'depth': None, 'intrinsic': None, 'filename': os.path.basename(i), 'folder': i.split('/')[-3]} for i in rgbs]
return data