使用 GIMP 修复照片对比度

作者:Eric Jeschke

在我的上一篇文章(LJ,2003 年 2 月)中,我介绍了如何使用 GNU 图像处理程序 (GIMP) 移除红眼来改善抓拍的闪光照片。在本文中,我将介绍另一个 GIMP 技巧,用于修复您的照片:使用数字渐变中性密度滤镜来修复拍摄高对比度场景时产生的糟糕照片。

人眼是一种非凡的图像捕捉工具。它能够观看具有大动态范围(亮度范围)的场景,并辨别明亮高光和昏暗阴影中的细节。摄影中的动态范围通常以档位来衡量,每档代表光线加倍或减半。人类可以辨别大约 14 档动态范围场景中的细节。胶片和数字捕捉传感器不如人眼那么擅长。幻灯片胶片通常可以处理大约 5-6 档。低于下限区域的细节会被堵塞成黑色阴影,而高于上限区域的细节则会显示为过曝(完全白色)的高光。负片胶片在这方面表现稍好,达到 9-10 档,而一些高端数码相机(DSLR)甚至可以做得略好于此。典型的消费级数码相机性能处于中等偏下水平,可以捕捉大约 6-9 档的细节,具体取决于数字捕捉过程中使用的位深度、传感器尺寸以及其他一些因素。

经验丰富的摄影师经常通过尝试压缩他们拍摄场景的动态范围来处理设备有限的动态范围,他们使用补光闪光灯、照明或反光板来照亮阴影,或者使用特殊滤镜,例如渐变中性密度滤镜(有时也称为渐变灰滤镜)来压暗高光。图 1 显示了此类滤镜的一个示例。它是一种可以安装在镜头前端的配件。它有一侧是透明的,另一侧是深灰色的,中间有一个小的连续过渡区域将它们分隔开。滤镜的深色部分具有减少光线的效果,减少 1 档、2 档或更多,具体取决于滤镜的强度。当相机设置为拍摄高对比度照片(例如,日落)时,滤镜放置在镜头前,使深色部分覆盖高光(例如,天空),透明部分覆盖图像的其余部分(例如,地平线以下的所有内容)。然后,摄影师可以为阴影测光曝光。如果滤镜位置正确,测光准确,并且摄影师敲了木头,从肩膀上撒了一撮盐,并做了简短的祈祷,那么整张图像将会曝光正确。

Fixing Photo Contrast with The GIMP

图 1. 渐变中性密度滤镜

大多数休闲摄影者不会费心携带渐变中性密度滤镜并使用它们。在这种情况下,折衷曝光是唯一真正的选择。典型的程序化自动曝光测光系统通常会设置一个折中的曝光,从而损失亮度范围两端的细节。如果您愿意自己控制曝光,请遵循摄影师拍摄幻灯片胶片时经常重复的经验法则:为重要的亮点曝光。通常可以在稍后从阴影中抢救出一些细节,但是一旦高光过曝,就无法恢复该细节。请记住,规则说的是“重要的亮点”。如果您正在拍摄日落的照片,您希望保留云层中的纹理和细节,这些云层被落日照得光彩夺目;如果您的主要拍摄对象是一只站在日落时分田野里的驼鹿,那么您可能更愿意保留驼鹿皮毛中的细节,而让云层的细节顺其自然。

尽管您无法恢复在此类曝光中完全被剪切掉的细节,但通常可以调整图像以抢救出隐藏在高光或阴影中的相当一部分细节。传统湿式胶片冲印中的过程称为“减淡和加深”。当从底片制作照片时,纸张的某些部分比其余部分曝光更多或更少,以保留高光中的细节或从阴影中提取细节。这些操作过去是为高级暗房爱好者保留的。但是,现在任何拥有 GIMP 副本的人都可以轻松地完成所有这些以及更多操作。

让我用以下示例来说明:犹他州的日落,如图 2 所示加载到 GIMP 窗口中。我听从了明智的建议,为悬崖面上的云彩和高光进行了曝光,并让前景变得非常暗。使用 LAB 分解插件,我可以将此 RGB 图像分解为 LAB 分量。其中,L 通道显示了图像中携带的完整亮度值范围。正如您从图 3 中看到的那样,前景树木中存在相当多的细节,而在原始图像中,前景树木看起来几乎完全被堵塞。这很好,但是如何提取这些细节,同时保留悬崖和云彩的美丽细节和色彩呢?

Fixing Photo Contrast with The GIMP

图 2. 加载到 GIMP 窗口中的犹他州日落照片

Fixing Photo Contrast with The GIMP

图 3. 使用 LAB 分解插件

抢救阴影细节的技术有点像使用数字渐变 ND 滤镜的等效方法。我结合了同一场景的两个版本,每个版本都针对高光或阴影进行了优化。该技术利用了 GIMP 中的图层和图层蒙版,因此事先对这些概念有基本的了解非常重要。下一节将介绍这些概念,并提供整体技术工作原理的概要介绍。

图层和图层蒙版

GIMP 中的所有图像都可以由一个或多个图层组成。当图像首次加载时,它会占据默认的背景图层,如图 4 所示。您可以在背景图层之上添加其他图层。这些上层可以包含您想要的任何内容。通常,您会希望创建作为同一图像不同版本的上层。这最容易通过复制图层来完成,如图 5 所示,我复制了背景图层。每个图层都可以独立于其他图层进行操作。在图 6 中,我对上层使用了色阶调整来使其变亮。

Fixing Photo Contrast with The GIMP

图 4. 默认背景图层

Fixing Photo Contrast with The GIMP

图 5. 复制图层

Fixing Photo Contrast with The GIMP

图 6. 使用色阶调整来使图层变亮

可以以各种方式组合图层以生成单个图像,就好像您从顶层向下看到底层一样。一种方法是降低上层部分或全部的不透明度。图层的不透明度可以从 100%(不透明)更改为 0%(完全透明)或介于两者之间的任何值。也可以使同一图层的不同部分具有不同的不透明度(或者如果您愿意,可以将其视为透明度级别)。同样,有很多方法可以做到这一点,但最灵活的方法之一是使用图层蒙版。可以将图层蒙版添加到图层,并使其成为其属性之一。它是一个灰度图像,其大小与图层相同。图层蒙版的效果是根据蒙版中每个相应的像素值来改变图层中每个像素的不透明度。蒙版中的黑色像素使图层中对应的像素完全透明。白色像素使其完全不透明,而介于两者之间的任何值都会计算这两个极端之间的不透明度百分比。

我相信您已经开始看到可能性了。在图 7 中,我们看到了为此图像中的上层创建的有用图层蒙版。添加图层蒙版后,它会填充渐变,从而产生小心地混合上层图像的效果,从完全透明到完全不透明,如图 8 所示。最后,可以展平图像以进行输出,如图 9 所示。

Fixing Photo Contrast with The GIMP

图 7. 图层蒙版

Fixing Photo Contrast with The GIMP

图 8. 使用渐变

Fixing Photo Contrast with The GIMP

图 9. 展平图像以进行输出

图层蒙版只是图层可以拥有的众多属性之一。其他属性(例如混合模式)也会影响图层如何与下方的其他图层组合。进一步研究图层的工作原理将对您的 GIMP 图像编辑能力带来巨大回报。

具体细节

现在我们已经掌握了图层和蒙版,让我们深入了解该技术的细节。GIMP 中的大多数菜单都可以通过在图像窗口中单击鼠标最右边的按钮来访问。在以下描述中,右键单击缩写为 RC。如果我描述要调用的 GIMP 操作,我将提到一系列菜单或键盘快捷键(在括号中)。例如,“打开图像(RC-->文件-->打开)”表示在图像窗口中右键单击,然后选择“文件”,然后从该菜单中选择“打开”。如果键盘快捷键更有意义,我将列出要按下的组合键;例如,“复制图像(Ctrl-C)”表示按住 Control 键并按 C。

在原始图像中,打开“图层”对话框 (Ctrl-L)。在该对话框中,右键单击“背景”图层名称,然后选择“复制”,或使用图 10 中圈出的按钮。现在双击复制的图层,并将新图层重命名为“ND 滤镜”。此步骤不是绝对必要的,但它有助于防止混淆每个图层上的内容,特别是如果您在六个月后再次打开此文件并试图弄清楚您做了什么。此时,您的“图层”对话框应如图 10 所示。

Fixing Photo Contrast with The GIMP

图 10. “图层”对话框

在“图层”对话框中,选择“ND 滤镜”图层。转到图像窗口并执行您想要进行的任何编辑以增强高光或阴影细节。“色阶”(RC-->图像->颜色-->色阶)或“曲线”(RC-->图像-->颜色-->曲线)操作是不错的选择,但您也可以使用“亮度/对比度”(RC-->图像-->颜色-->亮度和对比度)、减淡/加深工具或任何其他对您有效的方法。我们正在处理重复的图层,因此不必担心图像的良好部分;让它变得太暗或太亮。专注于需要改进的区域。在本例中,我使用了“色阶”(将中间滑块向左移动了一点,如图 11 所示)来使整个图像变亮,直到前景达到我想要的位置。

Fixing Photo Contrast with The GIMP

图 11. 使用色阶使图像变亮

此时,您将处于图 6 所示的位置,您可以在其中看到变亮的图像,它遮盖了下方的原始图像。我们现在想要添加一个图层蒙版,以显示下方图像的上部。在“图层”对话框中,右键单击“ND 滤镜”图层,然后选择“添加图层蒙版”。在“添加蒙版选项”对话框中,选择“白色(完全不透明)”,然后单击“确定”。最后,单击“图层”对话框中“背景”图层旁边的眼睛以关闭“背景”图层的可见性。您的“图层”对话框现在应如图 12 所示,在“ND 滤镜”图层上的图层图像图标旁边有一个小白色的图层蒙版图标。

Fixing Photo Contrast with The GIMP

图 12. 关闭“背景”图层的可见性

转到主 GIMP 工具箱窗口并选择渐变填充工具,如图 13 中圈出所示。返回到图像窗口,然后在您想要上下图层之间分割线的角度和方向上单击并拖动一条线(下层在线的开头,上层在线的结尾)。您拖动的线的长度决定了过渡的渐变程度或突然程度以及最终的混合效果。进行实验以获得感觉,但通常您会希望在过渡区域(例如,地平线)的中心使用短笔画。由于我们关闭了背景的可见性,因此您的反馈将是即时的,如图 14 所示;图像的一部分应在刚过过渡区域后消失。如果您没有在正确的位置获得分割,只需单击并拖动另一条线,新的渐变填充将替换旧的。要了解您正在做什么,请参考图 7 中的渐变。您可以在“图层”对话框中的图层蒙版图标中看到渐变的微型版本。请记住,渐变填充会影响上层图层的透明度。白色是不透明的;黑色是透明的,介于两者之间的任何颜色都是一定程度的半透明。

Fixing Photo Contrast with The GIMP

图 13. 渐变填充工具

Fixing Photo Contrast with The GIMP

图 14. 应用渐变填充工具

现在是检查您的手艺的时候了:单击“图层”对话框中“背景”图层旁边的眼睛,以重新打开该图层的可见性。瞧——您的组合图像,融合了两个世界的最佳曝光。现在,单击“图层”对话框中“ND 滤镜”图层旁边的眼睛以关闭和打开,以快速查看使用和不使用此数字渐变 ND 滤镜的效果。不错,是吧?图 15 显示了最终结果。

Fixing Photo Contrast with The GIMP

图 15. 最终结果

这种方法的真正美妙之处在于我们的原始图像在“背景”图层上保持不变。第二个图层上的变亮图像不需要任何费力的选择来仅影响所需区域,并且图层蒙版(在本例中)的创建非常简单。为了获得最大的灵活性,您可以将此图像以 GIMP 的原生 XCF 格式保存,它将保留所有分层结构。这使您可以返回并轻松进行其他调整,并确信您的原始未修改图像在“背景”图层上方便地可用,以防您需要重做上层或图层蒙版。当您准备将图像导出为更常见的图像格式之一(例如 TIFF 或 JPEG)时,它将展平图像,如图 9 所示。

了解图层蒙版的工作原理后,您可以想象如何将该技术应用于在高光和阴影之间具有更复杂过渡的图像(例如,伸入天空的黑暗山脉)。可以像操作任何其他灰度图像一样操作图层蒙版,以强制上下图层在您喜欢的任何位置和以您喜欢的任何方式混合在一起。

我希望您觉得这项技术有用。我猜它将拯救许多度假日落照片——也许是来自 Geek Cruise 的照片?

Fixing Photo Contrast with The GIMP
电子邮件:jeschke@mano.uhh.hawaii.edu

Eric Jeschke (eric@redskiesatnight.com) 拥有印第安纳大学计算机科学博士学位,曾担任软件工程师、大学教授和自由顾问。他与妻子、孩子和一只超重的猫住在夏威夷。Eric 喜欢他的家人、户外探险、拍照和运行 Linux。

加载 Disqus 评论