管理

照片直方图怎么看?判断过曝、欠曝和高光溢出

本文在AI辅助下由原文翻译而成。请结合原文核对专业术语和公式。

直方图怎么看?横轴是亮度,从左到右由纯黑过渡到纯白;纵轴是像素数量,某处越高,说明处在这个亮度的像素越多。判断曝光时先看左右两端:数据紧贴右边缘堆成一堵“墙”,是高光溢出(过曝);紧贴左边缘堆成“墙”,是暗部死黑(暗部细节丢失)。两端之间的山峰落在哪里,要看拍的是什么场景,所以直方图并没有唯一“正确”的形状。

带标注的亮度直方图:横轴从 0(纯黑)到 255(纯白),分为暗部、中间调和高光三段;纵轴是像素数量;左右两端的红色“墙”分别表示暗部溢出和高光溢出。
图1. 亮度直方图的结构。影调从 0(纯黑)排到 255(纯白);任何一端出现“墙”,都说明像素已被截断成纯黑或纯白。

直方图的横轴和纵轴分别是什么意思

相机是根据8位图像生成直方图的,所以横轴共有256个影调等级,编号从0(纯黑)到255(纯白)。习惯上,左侧约三分之一称为暗部(阴影),中间称为中间调,右侧约三分之一称为高光(亮部)。这只是方便交流的叫法,并没有严格的分界线。

纵轴表示像素数量。相机不会在纵轴上标数字,而且会按屏幕大小自动缩放,所以高度只有和同一张直方图里的其他位置相比才有意义。一张2400万像素的照片,大致就是把2400万个像素分进这256个“柱子”里;出现高峰,只说明有很多像素的影调相近。直方图有两件事告诉不了你:这些像素位于画面的什么位置,以及这张照片好不好看。

常见的直方图形状:为什么没有“标准答案”

流传很广的一种说法是,好的直方图应该是居中的钟形曲线。实际上,形状是由被摄对象决定的:深色沙发上的黑猫,直方图理应偏左;雪地里的滑雪者,直方图则应偏右。相机的自动测光倾向于把画面的平均亮度拉向中间调,这就是为什么雪景常常拍得发灰,夜景又容易被提亮得灰蒙蒙的,要靠曝光补偿纠正。

场景典型的直方图什么情况下才是真问题
暗调(低调):夜晚的街头、氛围感人像数据集中在左侧,右侧很少需要保留的暗部细节被挤在了0上
亮调(高调):雪景、海滩、白色背景数据集中在右侧,左侧很少有纹理的区域在255处堆成了“墙”
高反差:逆光主体、太阳入画两端各有一个山峰,中间很薄两端同时溢出,而且溢出处有需要保留的细节
低反差:雾、霾、阴天光线中间一个窄山峰,两端都有空缺很少有问题;后期可以增加对比度
四张小直方图:暗调(低调)场景的数据集中在左侧,亮调(高调)场景的数据集中在右侧,高反差场景在两端各有一个山峰,低反差的雾天场景只在中间有一个窄山峰。
图2. 四种都可能曝光正确的形状。关键不在于山峰落在哪里,而在于重要的细节有没有被挤到边缘上。

高光溢出与暗部死黑:贴在两端的“墙”

当场景的明暗范围超出照片能够记录的范围,就会发生溢出(也叫截断,英文是clipping):高于上限的部分一律记成255,低于下限的部分一律记成0,这些区域的纹理就没有了。在直方图上,它表现为一堵“墙”:数据不是逐渐收尾,而是一路冲到边缘,往往还是一根高高的尖峰。

不是每堵墙都需要处理。可以先问自己三个问题:

  • 溢出的是什么?打开高光警告(回放时,过曝的区域会闪烁,英文圈俗称“blinkies”;尼康的菜单里叫“加亮显示”)。裸露的灯泡、太阳本身、金属上的反光点可以保持纯白;婚纱、云层的层次则不该丢。
  • 溢出了多少?边缘上细细的一条,只是少数像素;一堵高耸的墙,意味着一大片区域。
  • 是哪一端?在JPEG里,恰好等于255或0的像素已经不含任何细节。而紧贴0但还没到0的暗部,后期往往还能提亮,代价是噪点更明显。

亮度直方图与RGB直方图:单个通道可能悄悄溢出

很多相机提供两种显示方式。亮度直方图把每个像素的红、绿、蓝三个数值换算成一个数;RGB直方图则把三个通道分开显示。佳能EOS R5中文说明书(称直方图为“柱状图”)把“亮度”显示用于查看总体曝光量,把“RGB”显示用于查看红、绿、蓝的饱和度和色调层次;拍摄颜色鲜艳的对象时,这个区别很重要。在RGB显示里,某个通道挤到右端,就说明这种颜色已饱和,没有层次。

常见的亮度换算公式给绿色的权重最大、蓝色最小,大致是红30%、绿59%、蓝11%(只是近似值,并非每台相机都用这个公式)。拿一片阳光下的红色花瓣来算(示例数字:R 255、G 60、B 50):0.30 × 255 + 0.59 × 60 + 0.11 × 50 = 76.5 + 35.4 + 5.5,约等于117。亮度直方图会把这个像素放在稳妥的中间调,但红色通道其实已经顶到了255的上限,花瓣可能变成一块没有纹理的平涂红色。由于蓝色的权重最小,舞台灯光或傍晚深蓝色天空里的蓝色通道溢出,不看RGB直方图最难发现。

同一画面的两种显示:亮度直方图在 255 之前就结束,红色花瓣位于约 117;RGB直方图中红色通道在 255 处有一堵墙,绿色和蓝色正常;算例为 0.30×255 + 0.59×60 + 0.11×50 ≈ 117。
图3. 同一画面的两种显示(示例数值)。亮度直方图看上去很安全,红色通道却已经顶到了 255。

相机里的直方图其实是根据JPEG预览图算出来的

即使你只拍RAW,相机也会按当前的白平衡、照片风格(佳能叫“照片风格”,尼康叫“优化校准”)、对比度和色调曲线,生成一张给屏幕显示的JPEG预览图;机内的直方图和高光警告,是由这张预览图计算出来的,而不是由RAW数据算出来的。FastRawViewer开发者公布的测试显示,切换照片风格、白平衡或对比度,直方图都会跟着移动,而RAW数据其实一点没变。尼康Z9的说明书也提醒:相机里的直方图可能与图像处理软件中显示的不同,只应当把它当作实际色调分布的参考。

流程图:传感器数据经相机内部处理(白平衡、照片风格、对比度和色调曲线)生成 8 位的JPEG预览图,预览图再用于屏幕画面、直方图和高光警告;RAW文件单独保存,不是直方图的计算对象。
图4. 机内直方图的来源(简化示意)。它由处理后的JPEG预览图计算而来,所以即使RAW数据没变,白平衡和照片风格也会让它改变。

由此会带来三个实际的后果。第一,RAW文件在直方图显示的范围之外,往往还留有一些高光余量:在FastRawViewer的一次测试中,直方图已经碰到了右侧边缘,而RAW数据还剩略多于半挡的余量。第二,后期软件对同一个文件画出的直方图,可能和相机里的不一样。第三,选用中性或低反差的照片风格,能让机内直方图更接近RAW数据,但永远不会完全一致。如果你拍的是JPEG,直方图对最终文件的描述就要可靠得多。

拍摄时怎么用直方图:曝光补偿的调整步骤

曝光补偿是最快的调节手段:增加曝光补偿,直方图向右移;减少曝光补偿,直方图向左移。每差一挡,进光量就翻一倍或减半,但直方图并不会每挡平移固定数量的等级,因为色调曲线把最暗的暗部和最亮的高光压缩进了靠近两端的窄带里。

  1. 让屏幕或取景器实时显示直方图,或者每拍一张就在回放界面查看;如果相机有RGB直方图,就切换到RGB显示。
  2. 先看右端。如果在需要保留细节的地方出现了一堵“墙”,就把曝光补偿减少1/3到1挡,然后再看一次。
  3. 再看左端。如果重要的暗部已经被压死,而右侧还有空间,就以1/3挡为步长增加曝光补偿。
  4. 如果两端同时溢出,说明场景的反差超过了一次曝光所能容纳的范围。要先决定最重要的是哪一部分,再用补光灯或反光板补光,或者包围曝光多拍几张。
  5. 在手动模式下,用快门速度、光圈或ISO做同样的调整。

常见问题

直方图必须是中间高、两边低的钟形吗?

不必。居中的山峰只适合“平均”的场景。雪景应当偏右,夜景应当偏左;真正需要留意的,是左右两个边缘。

为什么后期软件里的直方图和相机里的不一样?

相机量的是它自己生成的JPEG预览图,里面带着相机的照片风格和白平衡;后期软件则按自己的方式去渲染RAW数据。渲染方式不同,画出来的直方图自然也不同。

溢出的高光还能救回来吗?

JPEG不行:存成255的像素没有任何细节。RAW文件则可能在相机标出警告的区域里仍保留着数据(也就是前面说的高光余量),但一旦RAW数据本身也溢出了,原有的细节就已经丢失,软件只能估算。

参考来源:佳能EOS R5说明书:自定义播放信息显示(柱状图);尼康Z9在线说明书:直方图与加亮显示;Cambridge in Colour:相机直方图的亮度与颜色(英文页面);FastRawViewer:能否用机内直方图评估曝光?(英文页面)

相关阅读

为帮助理解本文而制作的原创插画。