|
''' |
|
@Description: The script is to transfer the normal map from world coordinate to camera coordinate |
|
''' |
|
import os, os.path as osp, numpy as np, cv2, argparse, tqdm, pdb |
|
|
|
def parse_args(): |
|
parser = argparse.ArgumentParser() |
|
parser.add_argument('--root', type=str) |
|
parser.add_argument('--out_dir', type=str, default='normal_test') |
|
return parser.parse_args() |
|
|
|
def convert_normal_map(): |
|
args = parse_args() |
|
normal_dir = osp.join(args.root, 'normals') |
|
normal_paths = sorted([osp.join(normal_dir, name) for name in os.listdir(normal_dir)]) |
|
out_dir = osp.join(args.root, args.out_dir) |
|
os.makedirs(out_dir, exist_ok=True) |
|
|
|
for idx, norm_f in enumerate(normal_paths): |
|
normals = cv2.imread(norm_f)[:, :, ::-1] |
|
normals = 2.* normals.astype(np.float32)/255. - 1. |
|
normals = |
|
cv2.imwrite(osp.join(out_dir, f'{idx:05d}.png'), normals) |
|
pdb.set_trace() |
|
|
|
|
|
|
|
|
|
|
|
def main(): |
|
convert_normal_map() |
|
|
|
if __name__ == '__main__': |
|
main() |