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

tyky79it  于 2023-03-05  发布在  其他
关注(0)|答案(3)|浏览(145)

过去,我将RGB图像(从物理模拟生成)保存为8位/通道PPM、PNG或JPEG。
现在,我想保留模拟输出的动态范围,这意味着保存浮点图像,然后将转换为8位/通道视为后处理步骤(这样我就可以调整转换为8位,而无需再次运行冗长的模拟)。
“标准”浮点图像格式出现了吗?
良好的免费支持库/查看器/操作工具,最好是Debian中提供的,将是一个额外的奖励。

83qze16e

83qze16e1#

你看过光辉RGBE吗(.hdr)和OpenEXR(.exr). RGBE有一些source code here。NVIDIA和ATI都在他们的显卡中支持EXR数据。有来自OpenEXR download page的源代码和二进制文件。ILM创建了OpenEXR,它得到了广泛的支持。OpenEXR支持每通道16和32位浮点,是现在大多数人使用的,除非他们写了自己的格式。

  • Linux的Pixel Image Editor也支持EXR编辑。
  • pfstools也是你在linux上使用HDR所必需的,它是一组命令行程序,用于阅读、写入和操作HDR,并且有Qt和OpenGL查看器。
  • 还有用于Linux的jpeg2exr
  • 这里有一些其他的debian packages的OpenEXR查看器。
  • 基于此,它看起来也有一个Gimp plugin的地方。
xdnvmnnf

xdnvmnnf2#

作为将来的参考,TIFF也相当普遍。您可以使用免费和开源的LibTIFF进行I/O。

bakd9h0s

bakd9h0s3#

看起来FITS的现代化版本可以满足您的需求,但我也建议您考虑使用物理学界广泛使用的一个优秀分析包中的2D直方图结构:ROOTAIDA是我熟悉的现代的。
NB:我已经有十多年没有使用过FITS了,但我记得它是一种很好很灵活的存储原始数据的方法。

相关问题