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

时间:2009-03-08 17:14:23

标签: c++ graphics rendering file-format hdrimages

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

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

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

优秀的免费支持图书馆/观众/操作工具,最好在Debian中提供,这将是一个奖励。

3 个答案:

答案 0 :(得分:14)

您是否查看了Radiance RGBE(.hdr)和OpenEXR(。emr)。 RGBE有一些source code here。 NVIDIA和ATI都支持其显卡中的EXR数据。来自OpenEXR download page的源代码和二进制文件。 ILM创建了OpenEXR,它得到了广泛的支持。 OpenEXR支持每个通道16和32位浮点,这是大多数人最近使用的,除非他们编写自己的格式。

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

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

  • Theres jpeg2exr for linux

  • 对于OpenEXR观众来说,还有其他debian packages

  • 基于此,看起来在某处也是Gimp plugin

答案 1 :(得分:2)

看起来FITS的现代化身符合你所陈述的需求,但我还建议你考虑使用物理界广泛使用的一个好的分析包中的二维直方图结构:{{ 3}}或ROOT是我熟悉的现代版本。


注意:自从我使用 FITS以来已有十多年了,但我记得它开始以一种很好而灵活的方式来存储相当原始的数据。

答案 2 :(得分:1)

为了将来参考,TIFF格式也相当普遍。您可以将免费和开源LibTIFF用于I / O.