首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用OpenCV编写HDR映像的正确方法是什么?

用OpenCV编写HDR映像的正确方法是什么?
EN

Stack Overflow用户
提问于 2019-04-06 15:06:14
回答 2查看 1.7K关注 0票数 0

我希望使用OpenCV对现有的HDR映像执行算术操作,然后以.hdr格式编写HDR文件。算术操作对这个问题并不重要,所以让我们简单地说,我想读取一个.hdr文件,然后将它写入相同的格式。

我试着按照通常的方式来做,通过第一次读取hdr文件

代码语言:javascript
复制
img = cv2.imread('original.hdr', -1).astype(np.float32)

然后把它写成

代码语言:javascript
复制
cv2.imwrite('new_original.hdr', img)

我使用Mac的查找器和OpenHDRViewer来查看HDR图像。当我运行上面的代码时,Mac能够正确地显示new_original.hdr文件。但是当我试图用OpenHDRViewer看到相同的hdr图像时,它会给出一个错误的说法-

不支持此文件类型!本网站目前不支持色调映射或LDR图像。稍后再检查更新。

new_original.hdr不是一个有效的HDR映像吗?

当我使用传统的cv2.imwrite()来编写HDR图像时,是否有一些基于格式的信息丢失。怎样才是正确的方法?

EN

回答 2

Stack Overflow用户

发布于 2020-04-29 14:09:35

@MukulKhanna我也面临着同样的问题。但是,通过在imwrite()中将扩展从.exr更改为.hdr,就可以在OpenHDRViewer上查看图像。

票数 0
EN

Stack Overflow用户

发布于 2022-03-02 08:32:14

好像是你写的

img = cv2.imread('original.hdr', -1).astype(np.float32)

这将导致float32数据类型的图像,范围在0~255之间。

我想float32图像的强度应该限制在0~1左右。(无论如何,即使对于hdr图像,255 x的动态范围太高,无法显示)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55550381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档