Android 伽马曲线实验——将2.2转换为1.8的相反值?
摩托罗拉光子因展示了其他人称之为“黑色迷恋”的东西而臭名昭著——在观看图片时,图像中黑暗部分的大部分细节都被展平为黑色。到目前为止,几乎所有人都将其归咎于奔腾显示器。然而,当我第一次看到这种效果时,我产生了一种不同的想法。。。“哇,这看起来和Windows编码的图片在Linux和Macintosh上使用gamma 1.8而不是Windows标准2.2时的样子一样(糟糕)。我的理论是,在这个过程中的某个地方,摩托罗拉使用了一个旧库构建了光子的安卓系统,该库是摩托罗拉在iPhone之前与苹果公司合作时编写的(或者可能是采用了旧的开源代码,假设为1.8gamma而不是2.2 gamma) 为什么我这么肯定?几天前,我用我的旧Epic4G(三星Galaxy S)和我的新Photon截屏了同一个网页。出乎意料的是,Epic的screen capture.png看起来很正常,但在我的电脑上查看时,光子的screen capture.png的外观与在光子屏幕上查看时完全相同。在我看到它的那一刻,我想起了我先前关于可能的gamma mapping 1.8-vs-2.2 bug的想法,并决定尝试编写一个演示应用程序,向摩托罗拉展示,并说服他们这是一个可以修复的真正bug 我想做的一个实验是,拍摄一幅JPEG图像,在明暗区域都具有高动态范围和细节,然后将其重新编码为非标准伽马,基本上是1.8和2.2之间差值的两倍。其想法是,如果我故意将其编码错误到相反的极端(2.6?),然后躺在元数据中说它是2.2,在光子上查看时,它将看起来正常(因为将2.2压缩到1.8的相同错误将2.6压缩到正确的2.2) 因此,有两个问题:Android 伽马曲线实验——将2.2转换为1.8的相反值?,android,rgb,motorola,gamma,srgb,Android,Rgb,Motorola,Gamma,Srgb,摩托罗拉光子因展示了其他人称之为“黑色迷恋”的东西而臭名昭著——在观看图片时,图像中黑暗部分的大部分细节都被展平为黑色。到目前为止,几乎所有人都将其归咎于奔腾显示器。然而,当我第一次看到这种效果时,我产生了一种不同的想法。。。“哇,这看起来和Windows编码的图片在Linux和Macintosh上使用gamma 1.8而不是Windows标准2.2时的样子一样(糟糕)。我的理论是,在这个过程中的某个地方,摩托罗拉使用了一个旧库构建了光子的安卓系统,该库是摩托罗拉在iPhone之前与苹果公司合作
将gamma应用于图像时,从[0.0-1.0]范围内的线性值开始,并将其提高到1/gamma的幂次,这会产生同样在[0.0-1.0]范围内的结果。对于gamma为1.8,将其提高0.56;对于gamma为2.2,将其提高0.45 如果应用了标准的2.2 gamma,而需要使用1.8 gamma,则可以通过两个校正因子的比率再次提高它:0.56/0.45=1.22 由于像素值通常在[0-255]范围内,因此需要在转换前除以255,在转换完成后乘以255 我不确定Photoshop或Gimp是否可以简单地做到这一点;我知道油漆店专业版有这个命令
任何与gamma相关的最终资源都是。好问题,措辞巧妙。我会从答案中学到一些东西,但除了一张赞成票,我什么都没有。