4

摩托罗拉 Photon 因展示其他人所谓的“黑色迷恋”而臭名昭著——在查看图片时,图像暗部的大部分细节都被压平为黑色。到目前为止,几乎每个人都将其归咎于 Pentile 显示器。然而,当我第一次看到这种效果时,我想到了一个不同的想法......“哇,这看起来和为 Windows 编码的图片在 Linux 和 Macintosh 上使用 1.8 的 gamma 时看起来一样(糟糕)的方式而不是 Windows 的 2.2" 标准。我的理论是,在某个地方,摩托罗拉使用一个旧库构建了 Photon 的 Android,当时摩托罗拉是 iPhone 之前的 Apple 合作伙伴(或者可能抓住了假设 1.8 gamma 而不是 2.2 的旧开源代码)。

为什么我这么肯定?几天前,我使用旧的 Epic 4G(三星 Galaxy S)和新的 Photon 对同一网页进行了屏幕截图。出乎意料的是,Epic 的屏幕截图 .png 看起来很正常,但 Photon 的屏幕截图 .png 在我的 PC 上查看时与在 Photon 屏幕上查看时的外观完全相同。看到它的那一刻,我想起了我之前关于可能存在 gamma-mapping 1.8-vs-2.2 错误的想法,并决定尝试编写一个演示应用程序向摩托罗拉展示并说服他们这是一个可以修复的真正错误。

我想做的一个实验是拍摄一张在明亮和黑暗区域都具有高动态范围和细节的 JPEG 图像,并将其重新编码为非标准伽马,该伽马基本上是 1.8 和 2.2 之间差异的两倍。这个想法是,如果我故意将它错误编码到相反的极端(2.6?),然后躺在元数据中并说它是 2.2,在光子上查看时它看起来很正常(因为相同的错误将 2.2 压低到 1.8将 2.6 压低到适当的 2.2)。

所以,两个问题:

  1. 如果将 2.2 伽马图像解码为 1.8,则与您得到的错误相反,伽马值是多少?2.6?

  2. 是否有任何简单的方法(免费的 Photoshop/gimp 插件、JPEG 编码库等)故意将源图像错误编码为该非标准伽玛?

4

1 回答 1

1

将 gamma 应用于图像时,您从 [0.0-1.0] 范围内的线性值开始,然后将它们提高到 1/gamma 的幂,这样得到的结果也在 [0.0-1.0] 范围内。对于 1.8 的 gamma,您将其提高 0.56,对于 2.2 的 gamma,您将其提高 0.45。

如果您应用了标准的 2.2 伽玛,而您需要 1.8 伽玛,您可以通过两个校正因子的比率再次提高它:0.56/0.45 = 1.22。

由于像素值通常在 [0-255] 范围内,因此您需要在转换前除以 255,并在完成后乘以 255。

我不确定 Photoshop 或 Gimp 是否可以简单地做到这一点;我知道 Paint Shop Pro 有一个命令。

任何与 gamma 相关的权威资源是Charles Poynton 的 Gamma FAQ

于 2011-10-01T04:03:54.777 回答