我想知道使用HDR数据存储图像背后的数据结构是什么。我理解如何存储常规图像(rgba)和立方体贴图。我怀疑它就像在同一文件内的不同曝光中存储多个图像一样简单。
答案 0 :(得分:3)
你可能很久以前就已经开始了,但我认为值得为其他发生在这个问题上的人提供参考资料。
这是Radiance .pic(现在.hdr)文件格式的旧参考。有用的信息从第29页的底部开始。 http://radsite.lbl.gov/radiance/refer/filefmts.pdf
摘录:
基本思想是为三个中的每一个存储一个1字节的尾数 初选,和一个常见的1字节指数。这些值的准确性 动态范围为1%(+/- 1 in 200) 10 ^ -38到10 ^ 38。
这是JPEG HDR格式的最新参考:http://www.anyhere.com/gward/papers/cic05.pdf
答案 1 :(得分:1)
通常可以增加可表示的值的范围(在HSV意义上),因此您可以使用例如RGB [A]其中每个元素是16位int,32位int,float,double等,而不是JPEG类型质量的8位int。在增加所表示的范围,保持该范围内的精细等级以及是否通过映射中的某些非线性(例如存储值的对数)优先考虑某些特定强度等级之间存在权衡。
答案 2 :(得分:0)
来自相机的原始文件通常存储来自拜耳模板的12-14位值 - 因此实际上是绿色标尺。这些有时是无损压缩(在佳能或尼康)或16位值(奥林巴斯)。标题还包含红色,绿色,蓝色蒙版像素的白平衡和增益校准,因此您可以生成彩色图像。
一旦你有了彩色图像,你可以随意存储,通常16bit RGB是最简单的。
答案 3 :(得分:0)
Here is some information,用于HDR图像。它使用32位浮点数。
答案 4 :(得分:0)
首先,我不确定是否存在用于在不同曝光下存储多个图像的公共格式,因为使用很少。这些多个图像被用作一种HDR源,但它们不是HDR,它们只是普通的LDR(L表示低)或SDR(S表示标准?)图像,这些图像编码为来自数码相机的JPEG。
更常见的是存储导致HDR格式,并且点就像所有人提到的那样,浮点数。
有一些HDR格式:
您可以从wiki
获取更多信息