WangLiwen1994/DeepRelight

About wide-range images

Closed this issue · 2 comments

Thank you for your nice contribution! BTW, could you please share the code to generate wide-range images used in stage 1?

Hi. You can try the following codes.

import cv2
from os import listdir
from os.path import join, dirname, basename
from os import path
import numpy as np
import os

if __name__ == '__main__':
    image_folder = "dataset/track3_train/"
    save_dir = "dataset/track3_HDR/"

    try: # create "save_dir" if it doesn't exist. 
        os.stat(save_dir)
    except:
        os.mkdir(save_dir)

    mergeMertens = cv2.createMergeMertens()
    for img_idex in range(0, 290):
        imgs = []
        for tem in range(2500, 6501, 1000):
            for pos in ['E', 'N', 'NE', 'NW', 'S', 'SE', 'SW', 'W']:
                imgName = "Image%03d_%d_%s.png" % (img_idex, tem, pos)
                FileName = image_folder + imgName
                if path.exists(FileName):
                    imgs.append(cv2.imread(filename=FileName))
                else:
                    print("Error==>please check %s"%FileName)
        exposureFusion = mergeMertens.process(imgs)
        exposureFusion = exposureFusion * 255
        exposureFusion = exposureFusion.clip(0, 255).astype(np.uint8)
        cv2.imshow("result", exposureFusion)
        cv2.waitKey(0)
        cv2.imwrite("%s/Image%03d.png" % (save_dir, img_idex), exposureFusion)

Thank you! It's so kind of you.