1、. * Gamma 校正设为 2.5 时看到的 File Gamma=2.5 的图片,和校正设为 1.0 时看到的 File Gamma=1.0 的图片相当。 另:这里有一个直观的(用普通照片的)例子。http:/graphics.stanford.edu/gamma.html5.2. 颜色的变化很显然,Gamma 的变化带来亮度的变化。而单独改变某个通道的 Gamma,则会则会带来色调(Hue)的变化。http:/ Gamma 使其总体上保持均衡。 5.3. 其它其它影响在后面有说明或提及。 6. 校正 Gamma 的理由主要指是否要将系统 Gamma 校正到 1.0。因为校正总是存在的。(
2、下同) 6.1. 标准化及互换性如果数码相机/扫描仪给你一个 Gamma=1.0 的图片,你最好是在系统 Gamma=1.0 的系统上查看;或者当你的数码图片要拿去输出时,对方系统Gamma=1.0; (这部分涉及到色彩空间、ICC Profile,我还不太清楚,而且接触的设备非常有限,不多说了。) 6.2. 算法上的要求在涉及不同灰度的混合时,就会对 gamma 有要求。一个简单的例子,考虑在填充时,一半的黑(0)+一半的白(255),效果应该和 50%的灰(128)相同。但这仅在系统 gamma=1.0 时成立。 又如,彩色转黑白时常说的:30% R + 59% G + 11% B,也是针
3、对 gamma=1.0 而言。 同样,许多算法也是针对 1.0 的系统 gamma,否则算法内要做 gamma 校正。 下面是一个抗距齿(anti-alias,反走样)的例子。 图 6-1 通常情况下的边缘 图片来源:http:/ 由于只能在矩形的点阵中画斜线,而斜线的像素值为全黑,当斜线较陡(或平)时,就会有明显的锯齿感。 请将系统的 gamma 校正设为 1.0 查看下面两图(即不校正系统 gamma) 图 6-2 采用 anti-alias 后,锯齿感没有那么明显了 图片来源:http:/ 在 Photoshop 中放大查看此图片,就会发现边缘不是全黑的,而是渐变的。(这是对 anti-
4、alias 的直观理解。) 注:不要用 ACDSEE 放大查看,它默认的放大算法是插值的,无法看清像素的原貌。 图 6-3 anti-alias 并 gamma 校正后,锯齿感完全消失 图片来源:http:/ 当然,如果你保持系统 gamma=1.0 去查看上面的图片,就会发现第 2 张图完全无锯齿感,第 3 张图反而有一点。(这不是也可以作为一种估计系统 gamma 的方法吗) 7. 不校正 Gamma 的理由7.1. 现实的非标准化假定你的图片作为 Web 发布,你的用户(观众)的系统 Gamma 会是 1.0 吗?即使可以假定色影无忌的泡菜会用 Adobe Gamma 将他们的系统Gam
5、ma 校正到 1.0 左右,但绝大多数普通用户呢?在接触到 Photoshop 前,我是不知道什么 Gamma 的。也许只能折衷吧。(MAC 通过硬件只校正到 1.8,SGI 只校正到 1.4,不知道有没有这方面的原因。) Making Good Cross Platform And WWW Pictureshttp:/ Gamma 值为前提的呢?似乎设为 1.0 并不是最舒服的。 PNG 文件格式提供了 Gamma 补偿的功能,但并没有流行起来,因为人们不知道他们的系统 Gamma 是多少(当然还有别的原因)。 The Sad Story of PNG Gamma “Correction”h
6、ttp:/www.hut.fi/u/hsivonen/png-gamma.html7.2. 更符合视觉特性就人的感知觉,心理量和物理量一般呈对数关系,视觉也不例外。虽然这个对数关系和那个指数关系并不严格对应,但方向上是一致的。即越暗处感觉越细(对同等光强的变化,暗处比亮处敏感),而对于(未校正的)显示器 gamma 曲线(gamma 值大于 1),也是暗处对应的层次更多。比如对 gamma=2,以一半的光强为分界,0182 对应于暗的一半,182255 对应于亮的一半。 7.3. 可能导致颜色数的减少这是由于数字量的舍入误差造成的。输入数据按通常的每通道 8 位计算,当显卡(DAC)精度只有
7、8 位时就会发生。 x = 0:255; y = uint8(x / 255) . gamma * 255); n = histc(y, x); count = sum(n0) 当 gamma=2(或 0.5)时,结果 count=192,即 256 色变为了 192 色。若三通道 Gamma 值(校正系统)相同,则总共的颜色数为 1923 = 707,788 色,而 24 位色原本为 16,777,216。 当然,对 10bit, 12bit 及更高位显卡就不存在这个问题了。(以前一直不明白在 8bit 色彩的系统上,更高位的显卡有何意义。现在有一点感受了。) 8. 结论Gamma 是一个基本的要素。关心图形、图像的人应该给它一点关心. 不将显示系统 Gamma 校正到 1.0 似乎并没有太大的错误,至少你和人民大众站在了一边。校正到什么程度,既有折衷的考虑,也有口味的因素。但不偏色是必要的。当标准需要你校正时,你最好遵守标准。总之,取决于你的图片与谁“接口”。 Gamma 只是 ICC Profile 的一部分。关于标准及互换性的问题,也许只有理解了色彩管理以后,才能完全明