【发布时间】:2019-02-12 20:23:04
【问题描述】:
我想创建一个脚本,它采用.HDR 文件并将其色调映射到.JPG。我看了几个OpenCV tutorials,看来应该可以做到这一点。
我写了这个脚本:
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应该可以根据the documentation加载.HDRs。
我已经尝试复制链接的教程并且工作正常,所以问题出在.HDR 图像中,有人知道该怎么做吗?
谢谢
编辑:我使用了this HDR image。由于版权等原因,提供链接而不是直接下载。
【问题讨论】:
-
您能否提供一个示例 HDR 输入图像,我们可以用它来重现它?
-
@DanMašek 编辑了原始帖子,其中包含我正在尝试使用的 HDR 的链接。谢谢