| ''' |
| @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() |