深度图像

作者:Dan Sawyer

我经营一家小型多媒体工作室,经常同时处理多项工作,从音响工程师到制片人。但是,当客户的电话安静下来,没有项目催促时,我会抽出时间沉迷于我逃避现实的爱好:摄影。

我随时准备着 Photoshop 以应对紧急情况,但如果可以不用,我就不会使用它。我的大多数机器都运行 Linux,我更喜欢这样。我喜欢 ImageMagick 中用于批量处理的各种 CLI 工具,以及 PanoTools(尽管我怀疑我是否能掌握它们的所有功能)。我喜欢 UNIX 哲学,即通过将一套模块化程序组合在一起来创建更大的应用程序,这些程序只做一件事并且做得很好。我喜欢使用 UFRAW 可以简单高效地进行 RAW 图像处理,它可以保存为高位深度格式,并保留使用 RAW 进行纹理和 HDRI 工作的巨大优势之一。最重要的是,我喜欢像素推动器——那些用于编辑栅格图形的最终用户程序。

多年来,我一直使用 GIMP 进行大部分后期处理工作。GIMP 经常因其不像 Photoshop 的界面以及其对过滤器的实用主义方法而受到诟病,但我正是因为这些原因而越来越喜欢它。

在其 2.x 发布周期中,GIMP 已经摆脱了许多早期的笨拙之处。它现在更节省内存,其新功能(例如改进的字体处理)使其看起来清新活泼。但是,在引擎盖下,它确实变得越来越跛脚,因为它的核心在设计上受到了阻碍。

问题最初是一个政治问题。很久以前,Rhythm and Hues 向 GIMP 提交了一组补丁,这些补丁赋予了 GIMP 高色彩深度能力(电影修饰的必要条件)。但是 GIMP 仍在 1.x 发布系列中,不知道如何处理它,并且断然拒绝了这些补丁。这些补丁很原始,而且似乎并不重要。毕竟,Photoshop 当时也不支持此类图像,而且没有人真正需要它。

事实证明,这个决定非常短视。此后,人们曾多次尝试用 GEGL 替换 GIMP 的颜色引擎以处理高深度,但到目前为止,它一直是空头支票。

在随后的几年里,计算能力舒适地沿着摩尔定律的道路走向库兹韦尔的奇点,并且发生了一些惊人的变化。消费设备超越了 GIMP。

首先,GIMP 每个通道只能处理 8 位对比度。有 2400 万种可能的颜色和 255 种不同的潜在亮度级别。虽然与我们曾经看到的相比,这在计算机屏幕上看起来很棒,并且虽然现代平板显示器的清晰度和分辨率意味着它们通常看起来比旧的 CRT 或电视更好,但事实仍然是 255:1 的对比度很小,尤其是与胶片再现的数千种灰色阴影以及我们眼睛感知的数十万种灰色阴影相比。坦率地说,即使在最好的情况下,数字世界的色彩也几乎一直很糟糕。

这种情况正在改变。高清视频格式具有更宽的对比度,使用 10 位浮点而不是 8 位线性颜色格式;高清格式之一 HDV 的价格定为以摄像机的形式出售给更愿意花钱的消费者,所有主要制造商的摄像机起价约为 1,000 美元。

在电影和摄影领域,高质量的胶片扫描已将优质滚筒扫描的对比度分辨率推得更高,达到 16 位浮点或 32 位线性的领域。虽然这对于大多数最终用户来说似乎无关紧要,但推论并非如此。尼康、佳能和大多数其他主要制造商已将数码单反相机的价格降至 800 美元以下,并且几乎所有这些相机都允许用户以 RAW 格式拍摄。

RAW 格式是 CCD 数据转储——三个颜色传感器没有像您通常期望的那样进行插值、混合或处理。这留给用户在卸载图像时使用他们的计算机来完成,每个图像很容易超过 10MB。大多数时候,人们拍摄 RAW,然后将图像处理成普通的 JPEG,错误地认为他们获得了更高的性价比,而实际上他们只是为自己创造了更多的工作。毕竟,JPEG 压缩就是 JPEG 压缩。JPEG 是一种有损的 8 位格式,句号。JPEG 可以看起来很棒,并且在大多数情况下它们完全足够,甚至对于某些打印作业也是如此。但是,它们并没有保留拍摄 RAW 的优势,RAW 的优势有两个

  1. 无损压缩。

  2. 更高的位深度。

位深度高多少因相机而异,介于 10 位浮点和 16 位线性之间。这些更高的深度对于拍摄用于 3D 程序的光照贴图或纹理非常理想。这些图像更宽广的对比度范围意味着比以往任何时候都更微妙的色彩再现、更平滑的曝光曲线、阴影中更多的细节以及高光中更少的溢出。但是,为了使用这种额外的细节,您必须保留它。为了保留它,您必须使用高深度文件格式。

所以,GIMP 不行。值得庆幸的是,有一些出色的替代品。

CinePaint

CinePaint 是 Rhythm and Hues 分支 GIMP 的后代,它扩展了该分支的广泛文件格式兼容性。在随后的几年中,它已发展成为用于电影胶片的可靠划痕和灰尘去除程序,并且现在正朝着成为适当的合成系统迈进。它目前正在格拉斯哥分支中进行大量开发,而原始分支或多或少是稳定的,并且仅针对错误修复和小功能添加进行更新。除了基本的 GIMP 功能集之外,CinePaint 还具有适当的色彩管理系统——正是这种系统的缺失使得 GIMP 不适合专业和接近专业的工作。还有一个用于跟踪动画变化的翻页书播放器、写入 Cineon 和 OpenEXR 以及一个出色的插件,用于从常规快照组装高动态范围图像(称为包围曝光的过程)。它是目前 Linux 上唯一支持包围曝光的开源 GUI 程序。

界面很熟悉——任何 GIMP 用户都会感到宾至如归——它的其他功能使其成为任何摄影师图形工具箱中不可或缺的一部分(图 1)。

Deep Images

图 1. CinePaint 具有类似于 GIMP 的 UI。

但是,CinePaint 的目标市场是电影修饰,因此除了基本功能和一些令人印象深刻的新功能外,其面向摄影师的功能集相当有限。它早期从 GIMP 分支出来以及其完全不同的内部结构意味着 GIMP 插件不容易移植到 CinePaint,因此普通用户会因感觉功能受到打击而感到沮丧。此外,它很难编译,并且在某些发行版上很容易崩溃(这是格拉斯哥转向 FLTK 的部分原因,但该分支尚不可用)。即使存在这些不便之处,CinePaint 仍然是必备工具,并且随着项目的推进,它有望变得越来越有用和稳定。

Krita

Krita 是 KOffice 绘图实用程序,它足以让人重新思考他们对 KOffice 的厌恶(图 2)。即使乍一看,它看起来也像一种与 GIMP 完全不同的动物。它不是浮动窗口,而是以单窗格集成视图启动。值得庆幸的是,Krita 的设计是模块化的:每个面板和工具都是可停靠的,这使得用户界面可以根据您的喜好进行配置。

Deep Images

图 2. Krita 界面专为图形专业人士设计。

差异不止于此——Krita 的整个方法使其与众不同。GIMP 最初旨在为 UNIX 提供一种处理 Web 图像的方法,并且在很长一段时间内都出色地完成了这项任务。另一方面,Krita 的设计目标不同——它直接针对图形专业人士。

Krita 从头开始构建在 LCMS 上,其 32 位色彩管理系统两侧是构建良好、复杂的工具,用于访问它。它在十几种不同的色彩空间中工作,并在它们之间干净地转换,使其适用于广泛的专业图形需求(CMYK 和 RGB 只是开始)。对于印刷工作,Krita 覆盖了它的基础,这是 GIMP 尚未掌握的东西。

虽然不是由图形专业人士管理的,但 Krita 的设计显示出对图形处理工程的深刻了解。它从比以前 Linux 中可用的更复杂的绘图和选择工具开始——从引导线绘图(有助于在没有 Wacom 平板电脑的情况下工作时提高精度)到磁性选择器(用于动态修改现有选择)。绘图工具的数量仅次于 Photoshop,并且在这一领域有一些巧妙的增强功能,Krita 胜过了来自 Adobe 的受人尊敬的资深人士。它也不回避借鉴 Photoshop 的一些更好的创新。

调整图层终于来了,图层分组和分层效果堆栈也来了——相对于 GIMP/CinePaint 范例,这是一个明显的优势。不再需要应用单个调整,确保它是正确的,然后再继续。借助调整图层和过滤器堆栈的功能,更改仅在导出时应用于图像,这使得中间过程的调整更加高效。

Krita 也有一些自己的技巧,例如过滤器画笔,用户可以将过滤器的效果直接绘制到图像的特定位置,而不是被迫使用强大但繁琐的在不同图层中详细遮罩的过程。

过滤器选择的猜测也已成为过去。用户可以使用过滤器库,而不是像在 GIMP 中那样弹出独立的过滤器对话框并在调整它们时观看预览,过滤器库列出了所有已安装的过滤器,提供了对其参数 UI 的完全访问权限,并包括其默认设置的缩略图预览,彼此并排——不是像在许多 GIMP 预览中那样覆盖图像一部分的小窗口,而是完整的缩略图预览(图 3)。

这种工作流程简化非常棒,并且无疑会随着 Krita 获得关注而回到其他应用程序中。

Deep Images

图 3. Krita 支持完整的缩略图预览。

Krita 在脚本支持方面也很出色;Python 和 Ruby 引擎的行为更像 Adobe 的 Action 脚本,而不是像 GIMP 的那样,并且令人愉快地不易崩溃。

作为对这个已经很诱人的圣代的锦上添花,Krita 有许多颜色配置文件可供选择——这在当今多方面的图形采集世界中是必须的。不同的相机、扫描仪和图形程序出于不同的原因使用不同的颜色配置文件,不同的打印机和目标格式也是如此。这些颜色配置文件控制程序和设备如何解释和解析图片,如果您希望您的颜色在当今无数的设备上准确再现,那么您的图形软件包必须能够说多种语言。NTSC、PAL 和 SEACAM 视频格式都具有特殊的颜色配置文件,专业印刷店使用 CMYK,不同的数码相机使用 Adobe RGB 或 sRGB,Apple 有自己的颜色配置文件,SMPTE 也是如此。所有这些以及更多,默认情况下在 Krita 中都受到支持(图 4)。

Deep Images

图 4. Krita 支持多种颜色配置文件。

唉,并非一切都尽如人意。Krita 的文本工具很原始——就像 GIMP 在最近的改进之前一样,它会在添加文本后立即栅格化文本,因此以后无法编辑。与 CinePaint 一样,它不能使用 GIMP 过滤器,因此必须为其架构编写新的插件。因此,复制一些基本的 GIMP 过滤器(例如程序等离子生成)的能力根本还不存在。尽管如此,现有的过滤器确实做得非常出色,并且经常超越其 GIMP 同类产品。

Krita 也仍处于完善阶段,其代码没有得到很好的优化。它具有很高的系统开销——它看起来很漂亮,但它拖累了即使是配置良好的系统的资源。调整图层不需要同一图像的多个副本即可堆叠过滤器,因此负载更轻。即便如此,界面也可能会滞后,而且滞后很多。与 GIMP 和 CinePaint 不同,Krita 尚不具备任何动画功能,更不用说翻页书了。最后,它尚不支持 LDR 包围曝光到 HDR——这是一个相当大的缺点(尽管此功能在未来版本的待办事项列表中)。

尽管如此,总而言之,Krita 仍然是一个优秀的软件包。它目前功能非常强大,并且显示出巨大的潜力。

结论

虽然 GIMP 很有用,但它正在显现出它的年龄,并且不久的将来,它要么适应,要么被更强大的工具排挤到一边。对于在 Linux 中工作的摄影师以及高深度 CGI 艺术家来说,Krita 和 CinePaint 都是受欢迎的工具。每个程序都在另一个程序薄弱的地方强大。随着这两个程序的不断发展,我们可以对它们抱有很大的期望——它们都证明了自己是设计精良的软件包,背后有深思熟虑且有能力的团队。达尔文式的竞争与合作的奇特结合为我们带来了新一代的工具,它们已经可以使用了。尽情享受吧!

HDRI:伪造胶片的高位深度

高动态范围成像最初是为 3D 场景的照明而开发的,作为捕获真实世界亮度范围的一种方法,多年来一直是逼真的 3D 照明工作的福音。

但是,它还有另一种用途。通过色调映射图像,HDRI 的宽对比度范围可以在 8 位空间中表示,从而产生惊人的效果——保留阴影中的细节并最大限度地减少高光中的剪切。随着这种美学变得流行,已经开发了几种技术来从数字快照创建 HDRIs,然后转换它们以在显示器上显示或打印。

从数码照片创建 HDRI 图像需要包围曝光——拍摄一组具有不同曝光设置的照片,以提供比相机原生允许的更宽的集体纬度(图 A)。之后,包围曝光的图像被组合成单个 HDRI。虽然这可以在终端中完成,但使用 CinePaint 简单易懂的“包围曝光到 HDR”插件(包含在软件包中)要容易得多。创建后,HDRI 可以转换为光探针(用于照亮 3D 场景)或进行色调映射以进行显示和/或打印(图 B)。

Deep Images

图 A. 一组具有不同曝光的照片

Deep Images

图 B. 使用包围曝光创建完美的图片

色调映射将 HDRI 插值到 8 位空间,而不会剪切高端和低端——它非线性地压缩图像以保留否则会丢失的细节。结果是比通常 8 位设备可以捕获的图像更丰富的图像。目前,CinePaint 或 Krita 中尚无色调映射可用(尽管它在 Krita 的待办事项列表中)。相反,pfstools(一组用于配置插值曲线的命令行算法套件)可以完成这项工作。

幸运的是,对于我们这些不喜欢在终端中盲目实验的人来说,一位有思想的人编写了一个 GUI,该 GUI 提供了命令行中可用的全方位选项,并带有一个预览窗口。该程序 Qpfstools 以及简介和教程,可以在这里找到:theplaceofdeadroads.blogspot.com/2006/07/qpfstmo-hdr-tone-mapping-gui-for-linux_04.html

Dan Sawyer 是 ArtisticWhispers Productions (www.artisticwhispers.com) 的创始人,这是一家位于旧金山湾区的小型音频/视频工作室。自 1990 年代后期创立 Blenderwars 电影制作社区 (www.blenderwars.com) 以来,他一直是自由和开源软件的热情倡导者。当前的项目包括独立科幻故事片 Hunting KestralThe Sophia Project,一本以神话中坚强女性为中心的艺术摄影集。

加载 Disqus 评论