摩托罗拉Photon因展示其他人所谓的“黑色粉碎”而臭名昭着 - 在观看图片时,图像黑暗部分的大部分细节都被展平为黑色。到目前为止,几乎每个人都把它归咎于Pentile显示器。然而,我第一次看到这个效果时,我发现了一个不同的想法......“哇,看起来相同(糟糕)的方式,用于Windows的图片用于在Linux和Macintosh上查看,当他们使用1.8的伽玛而不是Windows的2.2“标准”。我的理论是,在某个地方,摩托罗拉使用旧的库来构建Photon的Android,当摩托罗拉是iPhone之前的苹果合作伙伴时(或者可能,抓住了旧的开源代码,假设1.8伽玛而不是2.2)。 p>
为什么我这么肯定?几天前,我使用我的旧Epic 4G(三星Galaxy S)和我的新Photon对同一网页进行了屏幕截图。出乎意料的是,Epic的屏幕截图.png看起来很正常,但是当我在PC上观看时,Photon的屏幕截图.png与在Photon屏幕上观看时的外观完全相同。在我看到它的那一刻,我想起了我之前对可能的伽玛映射1.8-vs-2.2错误的想法,并决定尝试编写一个演示应用程序来向摩托罗拉展示并说服他们这是一个可以修复的真正错误。
我想做的一个实验是在明亮和黑暗区域拍摄具有高动态范围和细节的JPEG图像,并将其重新编码为非标准伽玛,其基本上是1.8和2.2之差的两倍。我的想法是,如果我故意将其误编码到相反的极端(2.6?),那么在元数据中说它是2.2,它在光子上观察时看起来很正常(因为同样的错误将2.2压缩到1.8)将2.6压缩到适当的2.2)。
所以,有两个问题:
如果2.2伽玛图像被解码为1.8,那么伽玛是否相等且与你得到的误差相反? 2.6
有没有简单的方法(免费的Photoshop / gimp插件,JPEG编码库等)故意将源图像错误编码为非标准伽玛?
答案 0 :(得分:1)
当伽玛应用于图像时,您从[0.0-1.0]范围内的线性值开始,并将它们提升到1 / gamma的幂,这样的结果也在[0.0-1.0]范围内。对于1.8的伽玛,你将其提高0.56,对于2.5的伽玛,你将其提高0.45。
如果您已经应用了标准的2.2伽玛,而您需要1.8伽马,则可以通过两个校正系数的比率再次提高它:0.56 / 0.45 = 1.22。
由于像素值通常在[0-255]范围内,因此在转换前需要除以255,完成后需要乘以255。
我不确定Photoshop或Gimp是否能够做到这一点;我知道Paint Shop Pro有一个命令。
任何与伽玛相关的资源都是Charles Poynton's Gamma FAQ。