我想使用 OpenCV 对现有的 HDR 图像执行算术运算,然后以 .hdr 格式编写 HDR 文件。算术运算对这个问题并不重要,所以假设我想读取一个 .hdr 文件,然后将其写入相同的格式。
我尝试按照通常的方式进行操作,首先将 hdr 文件读取为
img = cv2.imread('original.hdr', -1).astype(np.float32)
然后把它写成
cv2.imwrite('new_original.hdr', img)
我使用 Mac 的 Finder 和OpenHDRViewer来查看 HDR 图像。当我运行上述代码时,Mac finder 能够正确显示该new_original.hdr
文件。但是当我尝试使用 OpenHDRViewer 查看相同的 hdr 图像时,它会给出一个错误消息 -
不支持此文件类型!该站点目前尚不支持色调映射或 LDR 图像。稍后再回来查看更新。
不是new_original.hdr
有效的 HDR 图像吗?
当我使用传统格式cv2.imwrite()
编写 HDR 图像时,是否会丢失一些基于格式的信息。这样做的正确方法是什么?