-
Notifications
You must be signed in to change notification settings - Fork 9
/
load_data.py
20 lines (18 loc) · 692 Bytes
/
load_data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import os
os.environ["OPENCV_IO_ENABLE_OPENEXR"]="1"
import cv2
import numpy as np
def load_depth(depth_path, is_float16=True):
image = cv2.imread(depth_path, cv2.IMREAD_ANYCOLOR | cv2.IMREAD_ANYDEPTH)[...,0] #(H, W)
if is_float16==True:
invalid_mask=(image==65504)
else:
invalid_mask=None
image = image / 10000 # cm -> 100m
return image, invalid_mask
def load_normal(normal_path):
image = cv2.imread(normal_path, cv2.IMREAD_ANYCOLOR | cv2.IMREAD_ANYDEPTH)[..., :3] * 2. - 1. #(H, W, 1)
invalid_mask=np.all(image==[-1, -1, -1], axis=-1)
image /= np.linalg.norm(image,axis=-1,keepdims=True)
image[...,1]*=-1
return image, invalid_mask