小编Ash*_*nCZ的帖子

使用 OpenCV 4.0 对 HDR 图像进行色调映射

我想创建一个脚本,它接受一个.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))
Run Code Online (Sandbox Code Playgroud)

根据教程应该可以工作。不过,我最终得到了一个黑色图像。我已经验证它保存的结果是.JPG,以及输入图像(1.6 兆像素 HDR 环境图)是一个有效的.HDR.

OpenCV 应该能够.HDR根据文档加载s 。

我试过复制链接的教程并且工作正常,所以问题出在.HDR图像上,有人知道该怎么做吗?

谢谢

编辑:我使用了这个 HDR 图像。由于版权等原因,提供链接而不是直接下载。

python opencv hdr

6
推荐指数
1
解决办法
5047
查看次数

标签 统计

hdr ×1

opencv ×1

python ×1