在 ImageMagick 中启用 HDRI
高动态范围成像(HDRI)相比标准数字成像技术,能够支持范围大得多的曝光动态范围(即明亮区域与黑暗区域之间的巨大差异)。HDRI 能够准确表现真实场景中存在的广泛强度级别,从最明亮的直射阳光到最深最暗的阴影。HDR 成像方法包括:
- 以浮点色彩空间进行渲染/捕获
- 涵盖整个可感知色域(将值扩展到 [0,1] 范围之外)
- 在扩展色彩空间中进行后期处理
- 针对特定显示设备应用色调映射
ImageMagick 支持 Jzazbc 色彩空间,适用于需要宽色域和高动态范围的应用。
在 ImageMagick 中启用 HDRI
默认情况下,ImageMagick 第 7 版中的图像像素以浮点表示存储,取值范围从 0 到量化深度,通常为 16 位(Q16)。启用 HDRI 后,像素可以包含负值以及超过量化深度的值。大多数数字图像格式不支持 HDRI,对于这些图像,任何超出量化范围的像素在存储前都会被钳制(截断)。
最有前景的 HDR 图像格式是 EXR。要读取或写入此格式,必须已安装 OpenEXR 委托库。其他 HDR 格式包括 TIFF 的 48 位整数和 96 位浮点格式、HDR、PFM,以及 ImageMagick 自有的 MIFF 格式。
要禁用 HDRI 版本的 ImageMagick,请在 Linux 下使用以下命令:
./configure --disable-hdri
在 Windows 下,请按照说明(即使不是程序员也很容易理解)用约一小时的流程构建并配置你自己的可执行文件: 从 Windows 源码安装。
要验证 HDRI 是否已正确配置,请查看功能(Features)中是否包含 "HDRI":
magick identify -version
Features: HDRI
启用 HDRI 后,你现在可以创建动态范围宽得多的图像,从而获得更鲜艳的色彩和更好的对比度。它确保 HDR 内容能够在兼容设备上准确显示,同时保持与 SDR 显示设备的向后兼容性。在以下示例中,你可以存储标准动态范围(SDR)图像与其高动态范围(HDR)对应版本之间的差异。本质上,增益图捕获了 HDR 相比 SDR 所提供的额外亮度和色彩信息:
magick -define uhdr:hdr-color-gamut=bt709 -define uhdr:hdr-color-transfer=hlg \
\( img_sdr.tif -depth 8 \) \( img_hdr.tif -depth 16 \) uhdr:ultrahdr.jpg