我想创建一个脚本,它接受一个.HDR
文件并将其色调映射到.JPG
. 我看过一些OpenCV 教程,似乎它应该能够做到这一点。
我写了这个脚本:
import cv2
import numpy as np
filename = "image/gg.hdr"
im = cv2.imread(filename)
cv2.imshow('', im.astype(np.uint8))
cv2.waitKey(0)
tonemapDurand = cv2.createTonemapDurand(2.2)
ldrDurand = tonemapDurand.process(im.copy())
new_filename = filename + ".jpg"
im2_8bit = np.clip(ldrDurand * 255, 0, 255).astype('uint8')
cv2.imwrite(new_filename, ldrDurand)
cv2.imshow('', ldrDurand.astype(np.uint8))
根据教程应该可以工作。我最终得到了一个黑色图像。我已经验证它保存的结果是.JPG
,并且输入图像(1.6 兆像素 HDR 环境图)是有效的.HDR
.
OpenCV 应该可以.HDR
根据文档加载 s 。
我已经尝试复制链接的教程并且工作正常,所以问题出在.HDR
图像中,有人知道该怎么做吗?
谢谢
编辑:我使用了这个 HDR 图像。由于版权等原因,提供链接而不是直接下载。