我应该使用哪种浮点图像格式?

问题描述 投票:0回答:4

过去,我将 RGB 图像(从物理模拟生成)保存为 8 位/通道 PPM 或 PNG 或 JPEG。

现在我想保留模拟输出的动态范围,这意味着保存浮点图像,然后将转换为 8 位/通道作为后处理步骤(因此我可以将转换调整为 8 位,而无需运行再次进行冗长的模拟)。

“标准”浮点图像格式出现了吗?

良好的免费支持库/查看器/操作工具,最好在 Debian 中可用,将是一个额外的好处。

c++ graphics rendering file-format hdrimages
4个回答
15
投票

您是否研究过 Radiance RGBE (.hdr) 和 OpenEXR (.exr)。 RGBE 这里有一些源代码。 NVIDIA 和 ATI 的显卡都支持 EXR 数据。 OpenEXR 下载页面有源代码和二进制文件。 ILM 创建了 OpenEXR,并得到了广泛的支持。 OpenEXR 支持每个通道 16 和 32 位浮点,并且是当今大多数人使用的,除非他们编写了自己的格式。

  • 适用于 Linux 的 Pixel Image Editor 也支持 EXR 编辑。

  • 如果您要在 Linux 上使用 HDR,
  • pfstools 也是必要的。它是一组用于读取、写入和操作 HDR 的命令行程序,并具有 Qt 和 OpenGL 查看器。

  • 还有适用于 Linux 的 jpeg2exr

  • 这里还有一些其他 debian 软件包供 OpenEXR 查看器使用。

  • 基于此,看起来某处还有一个 Gimp 插件


3
投票

供将来参考,也相当广泛的是 TIFF 格式。您可以使用免费开源的 LibTIFF 进行 I/O。


2
投票

看起来 FITS 的现代版本可以满足您的需求,但我还建议您考虑使用物理界广泛使用的优秀分析包之一的 2D 直方图结构:ROOTAIDA 都是我熟悉的现代的。


注意:自从我使用适合任何东西以来已经有十多年了,但我记得它是存储相当原始数据的一种很好且灵活的方式。


0
投票

还有来自 netpbm 系列的简单 pfm 格式

© www.soinside.com 2019 - 2024. All rights reserved.