OPENCV可以直接读取HDR图,代码如下:
img = cv2.imread(hdr_path, flags = cv2.IMREAD_ANYDEPTH)
此时,显示的颜色会偏暗:
需要通过如下转换:
img = cv2.imread(hdr_path, flags = cv2.IMREAD_ANYDEPTH)
tonemapDurand = cv2.createTonemapReinhard(2.2,0,0,0)
ldrDurand = tonemapDurand.process(img)
im2_8bit = np.clip(ldrDurand * 255,0,255).astype('uint8')
即可正常显示图片:
当然OPENCV也提供其他转换TONEMAP的函数,有兴趣的话 大家可以自己尝试