基础

「基础」面板是每一次显影决策的起点,涵盖从片基去除、曝光到色调塑形、白平衡与饱和度的完整摄影链路。本页从上至下逐一介绍每个控件——它对照片的作用,以及它在引擎中调整的参数。

OpenEnlarge 单帧界面,显示反转后的正片图像,右侧打开「基础」调整面板
单帧界面 —— 反转后的正片与右侧的「基础」面板控件。

反相

反相按钮将当前帧在负片(Cineon 反转)与正片(直通)模式之间切换。正片模式下,扫描图像直接进行显示编码,不经过任何反转,仅施加 exposure(曝光)与白平衡。适用于幻灯片或正片原稿——当你希望跳过反转、直接处理已是正片的来源时。该切换为逐帧设置,可撤销,立即生效。

曝光

曝光是最主要的亮度控件,也是首先应该调整的。它以 EV 档位调整 exposure 参数(滑块范围 −5 至 +5)。在引擎内部,EV 值驱动 print_exposure = 2^EV,引擎将其作为场景线性光中的增益施加(Adobe 模型 L_out = f(L_in · 2^EV)),而非对胶片密度做缩放。提高曝光以平滑的高光滚降抬升色调;降低曝光将其下拉。增益在线性光中进行,因此曝光只改变亮度,没有旧版密度乘法带来的对比度变化,高光也沿肩部滚降而非硬裁切。

首次显影时会自动运行一次自动曝光,选取一个使关键色调处于合理亮度的值,类似于自动白平衡确定中性点的方式。之后可自由调整;起始值已折入基线,不构成单独的撤销步骤。

当前激活的 Faithful 色调路径使用感光强度 FAITHFUL_EXPO_K = 1.0,因此每一 EV 档大约对应一个摄影档的亮度变化。这与旧版 Filmic 路径较弱的 EXPO_K = 0.14 有意不同,后者在明亮内容上会让滑块感觉反应迟钝。

深入原理

曝光机制:滑块以 EV 记录 exposure。扫描负片本就是对数反转的正片(d = log10(base/scan)),因此引擎重建一个以黑为锚的线性场景 L = 10^d − 1,在线性光中施加曝光增益 L' = L · 2^EV,再回到密度 d' = log10(L' + 1),并喂入 Faithful 伽马肩部曲线(固定刻度 FAITHFUL_SCALE = 1/0.700,按 C400 数字 SDR 参考校准)。EV 0 为恒等,故 EV-0 观感不变;伽马肩部提供高光滚降,因此推高曝光是滚降而非硬裁切。

高光保护:伽马肩部曲线的渐近肩部平滑压缩接近白点的密度。降低曝光可将过曝色调从肩部拉回曲线体部,恢复丢失的层次——前提是负片中确实存在细节。已饱和的高光(密度远超肩部)会保持接近白点:滑块可以压暗中调而不将白点一并拖低。

白点与曝光:Faithful 路径使用固定密度刻度(FAITHFUL_SCALE)而非逐帧 d_max——因此白点不随曝光移动。亮度由滑块负责;白点在显影时分析阶段自动确定(不再有手动白点拾取——Faithful 曲线不使用逐帧 d_max)。详见 密度与对数空间色调曲线

影调 —— 亮度、对比度、高光、阴影、白色、黑色

曝光下方是六个创意影调控件,均在反转后正片的显示空间中工作。每个控件映射到 InvertParams / FinishParams 中的一个字段,范围均为 −100 至 +100(0 = 不变)。

  • 亮度 —— 在色调曲线之前施加的对数密度增益。等量滑块步长产生等量密度变化,而非等量线性增量,因此读起来像平滑的密度抬升或下拉。字段:brightness;增益为 10^(brightness · BRIGHTNESS_DENSITY_RANGE),其中 BRIGHTNESS_DENSITY_RANGE = 0.5
  • 对比度 —— 以中性灰(0.5)为轴心的线性 S 型增益。正值扩大暗调与亮调的间距;负值压缩。字段:contrast
  • 高光 —— 作用于色调范围上半段(0.5 以上)的架型权重,在白点处达到峰值。下拉高光可恢复接近溢出的色调;上推高光提亮肩部区域。字段:highlights
  • 阴影 —— 作用于色调范围下半段(0.5 以下)的架型权重,在黑点处达到峰值。提升阴影可开亮暗部色调,不影响中调。字段:shadows
  • 白色 —— 作用于极亮端(幂律权重在接近 1.0 处最强)。上推白色提亮镜面高光;下拉则将其柔和地拉回白点以下。字段:whites
  • 黑色 —— 作用于极暗端(幂律权重在接近 0 处最强)。提升黑色抬高阴影底部,增加一种胶片底基感;降低则加深阴影趋向纯黑。字段:blacks

六个控件依次叠加:亮度增益 → 色调曲线(白色/黑色端点,再是高光/阴影区域,最后是对比度 S 型增益)。它们在反转核心之后于显示空间中施加,因此无论处理负片还是正片直通帧均保持一致。如需进一步的曲线编辑——逐通道点控曲线与区域参数滑块——请参阅 单帧 —— 高级面板

深入原理

亮度密度曲线:gain = 10^(b · 0.5),其中 b 为亮度滑块值,从其 −100..100 的 UI 范围预缩放至 −1..1。在极值处(b = ±1),增益约为 ×3.16 / ×0.32(约 ±1.66 档)。GPU 预览与 CPU 导出使用相同常量 BRIGHTNESS_DENSITY_RANGE = 0.5,因此两者完全一致。

色调曲线顺序(finish.rs):

  1. 白色端点:v += whites · 0.20 · v³ —— 接近 1 时最强,在 0 处消失。
  2. 黑色端点:v += blacks · 0.20 · (1−v)³ —— 接近 0 时最强,在 1 处消失。
  3. 高光区域:v += highlights · 0.18 · smoothstep(0.5, 1.0, v) —— 在白点处达到峰值的架型。
  4. 阴影区域:v += shadows · 0.18 · (1 − smoothstep(0.0, 0.5, v)) —— 在黑点处达到峰值的架型。
  5. 对比度 S 型增益:v = 0.5 + (v − 0.5) · (1 + contrast)

高光与阴影的增益上限 0.18 确保即使对立滑块同时推至最大,曲线仍保持单调——不会出现色调反转伪影。

白平衡 —— 色温、色调、自动、灰点拾取

「单帧」标签页中的白平衡通过色温(2800–10000 K)和色调(绿色/品红轴,−100 至 +100)滑块控制,两者共同决定逐通道的白平衡增益。滑块显示真实的白平衡:自动白平衡与灰点拾取会把色温/色调设到估算值,因此数值稳定,同一色温每次含义一致。

滑块上方有三个一键辅助工具:

  • 自动白平衡 —— 对当前帧与片基重新运行灰世界估算,将色温和色调设定到检测到的中性点。在更改片边颜色后,可用此功能重新平衡。
  • 灰点拾取器(十字准星图标)—— 在预览视口中点击一处在最终照片中应为中性灰的区域。引擎测量该像素的值,计算令其中性化所需的白平衡增益,再据此把色温/色调设为使该像素中性的绝对值。
深入原理

增益模式:逐通道白平衡增益作为曲线后乘法施加于正片输出。纯黑(输出 = 0)不受影响:0 × 增益 = 0,因此暗部始终保持中性。

色温范围:滑块在倒数轨道上跨越 3793–10000 K(使中性 5500 K 位于视觉中心),步长 0.5 K,显示绝对色温。

色调范围:−100 至 +100,步长 0.1 单位。细步长可避免在大幅绿色/品红扫描时产生色带。

纹理

纹理通过非锐化蒙版添加或去除细节对比度。正值锐化(增强精细尺度上的局部对比度);负值柔化(向图像的低频版本混合)。该控件与分辨率无关:模糊半径随图像短边缩放,使代理预览与全分辨率导出在视觉上呈现相同效果。

注意:纹理是精细细节的空间效果,在适应窗口缩放级别下无法准确预览——代理分辨率的像素数少于所增强的细节。点击纹理滑块旁的 100% 按钮(或使用键盘快捷键)跳转至 1:1 缩放,以查看真实效果。字段:texture,范围 −100 至 +100。

深入原理

非锐化蒙版公式:out = v + k · (v − blur(v)),其中 blur 为可分离高斯模糊。增益 k 不对称:texture = +1 时,k = USM_POS_GAIN = 2.5texture = −1 时,k = −USM_NEG_GAIN = −1.0,结果精确等于模糊图像(明显柔化)。中间值线性插值。

分辨率无关性:sigma 为 TEXTURE_SIGMA_FRAC = 0.0025 乘以图像短边,在 2560 像素代理上约得 6 像素 sigma。半径上限为 TEXTURE_MAX_RADIUS = 64 像素,防止超大导出时计算量过大。GPU 和 CPU 路径均从各自视口尺寸推导相同的 sigma,因此预览与导出一致。

鲜明度 —— 鲜艳度与饱和度

鲜艳度与饱和度均用于提升或降低色彩丰富度,但工作方式不同:

  • 鲜艳度 —— 优先针对色度较低的暗淡区域。已经鲜艳的颜色获得较小提升,因此推高鲜艳度可丰富平淡的天空与布料,而不会令本已饱满的红色和黄色过度饱和。字段:vibrance
  • 饱和度 —— 对所有色调和色相施加均匀的色度提升。适合整体均衡地丰富色彩。字段:saturation

两者均在 OKLab 色彩空间中运算,这是一种感知均匀模型——等量数值步长在所有色相上产生视觉上等量的变化。接近中性的色调(灰色)与肤色受到保护,获得较小的提升,因此推高饱和度时不会在本应无色的区域产生色偏,也不会令肤色过饱和。超出色域的结果沿色相线压缩,而非逐通道截断。范围:两者均为 −100 至 +100。感知设计的原理详见 色彩与白平衡

深入原理

OKLab 色度缩放:像素转换为 OKLab(L, a, b),色度为 C = √(a² + b²)。综合增益为 gain = saturation + vibrance · (1 − C/SAT_C_REF),其中 SAT_C_REF = 0.20 是被视为「完全饱和」的参考色度——低色度像素获得完整的鲜艳度贡献,高色度像素获得的贡献逐渐递减。

中性色与肤色保护:增益进一步乘以中性色斜坡(smoothstep(0, SAT_C_NEUTRAL, C),其中 SAT_C_NEUTRAL = 0.025),在接近中性的色调处将提升归零;并乘以肤色阻尼(在肤色/橙色色相窗口内最大减少 SKIN_DAMP = 0.5)。亮度(L)保持不变,仅缩放 a 和 b 轴。

色域压缩:色度缩放后,结果从 OKLab 转换回线性 RGB。若任一通道超出 [0,1],则沿非彩色点(L, 0, 0)到提升后颜色的直线方向将结果拉回,直至所有通道在色域内——保留色相与亮度,同时避免逐通道截断。

HDR 预览

HDR 开关(基础面板标题栏右上角,字段 hdr: boolean)为当前帧启用 HDR 预览渲染。在 Faithful 路径(OpenEnlarge 唯一启用的色调路径)下,HDR 模式将色调曲线的输出上限提升至 HDR_HEADROOM = 2.5:曲线肩部拟合至这一抬高的上限,而非 SDR 白点(1.0),使镜面高光和光源在支持 EDR/HDR10 的显示器上可以超越 SDR 白点。HDR 模式下绕过风格层,以保留这些亮度余量值。导出流程默认仍为 SDR;HDR 仅为预览开关。(HDR_KNEE 属于已停用的 Filmic 路径,此处不适用。)

重置

重置按钮(基础面板标题栏右上角)将所有基础控件还原至默认值:曝光、亮度、对比度、高光、阴影、白色、黑色、纹理、鲜艳度、饱和度均设为 0。色温和色调重新从自动白平衡估算中获取,而非设为固定默认值,因此色彩平衡落在图像检测到的中性点,而非任意数字。裁剪、片边颜色和所有曲线、颜色分级或颜色混合器设置保持不变。

下一篇:单帧 —— 高级面板 →

OpenEnlarge —— 开源胶片扫描编辑器 · MIT 许可