Files
nerfstudio/lantern_scripts/exr2hdr.py
T
2025-04-30 19:38:09 -04:00

45 lines
1.2 KiB
Python

import os
import cv2
import argparse
import numpy as np
from tqdm import tqdm
import numpy as np
from pathlib import Path
from hdrio import imwrite
import imageio
os.environ["OPENCV_IO_ENABLE_OPENEXR"] = "1"
imageio.plugins.freeimage.download()
def convert(src_addr, trg_addr):
img = imageio.imread(src_addr)
imwrite( img[:, :, 0:3], trg_addr)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--hdr_dir', type=str)
parser.add_argument('--output_dir', type=str)
parser.add_argument('--change_name', action='store_true')
args = parser.parse_args()
hdrs = []
for path in Path(args.hdr_dir).glob('*.exr'):
if path.is_file():
hdrs.append(str(path))
if len(hdrs) == 0:
raise Exception("No data available!!!")
hdrs = sorted(hdrs)
os.makedirs(args.output_dir, exist_ok=True)
for index, src_addr in enumerate(tqdm(hdrs)):
src_addr = str(src_addr)
if args.change_name:
trg_addr = str(Path(args.output_dir) / f"{index:05d}.hdr")
else:
trg_addr = src_addr.replace(args.hdr_dir, args.output_dir)
trg_addr = trg_addr.replace('.exr', '.hdr')
convert(src_addr, trg_addr)