Skip to content

高动态范围成像

如今,大多数数字图像和成像设备每个通道使用 8 位,从而将设备的动态范围限制在两个数量级(实际上是 256 级),而人眼可以适应相差十个数量级的光照条件。当我们拍摄真实世界场景的照片时,明亮区域可能会过曝,而暗区域可能会欠曝,因此我们无法使用单次曝光捕获所有细节。HDR 成像使用每个通道超过 8 位(通常是 32 位浮点值)的图像,允许宽得多的动态范围。

获取 HDR 图像有不同的方法,但最常见的一种是使用以不同曝光值拍摄的场景照片。要组合这些曝光,了解你相机的响应函数是很有用的,并且有算法可以估计它。HDR 图像融合之后,必须将其转换回 8 位才能在普通显示器上查看。这个过程称为色调映射(tonemapping)。当场景或相机的目标在拍摄之间移动时,会出现额外的复杂性,因为具有不同曝光的图像应当被配准和对齐。

在本教程中,我们展示如何从曝光序列生成并显示 HDR 图像。在我们的情况下,图像已经对齐,并且没有移动的目标。我们还演示了一种称为曝光融合(exposure fusion)的替代方法,它产生低动态范围图像。HDR 流水线的每一步都可以使用不同的算法实现,因此请查看参考手册以了解全部内容。

memorial.png

本教程的代码如下所示。你也可以从这里下载 代码见下方示例 本教程的代码如下所示。你也可以从这里下载 代码见下方示例 本教程的代码如下所示。你也可以从这里下载 代码见下方示例

包含图像、曝光时间和 list.txt 文件的数据目录可以从这里下载。

  • 加载图像和曝光时间

首先,我们从用户定义的文件夹加载输入图像和曝光时间。该文件夹应包含图像和 list.txt——一个包含文件名和逆曝光时间的文件。

对于我们的图像序列,列表如下:

memorial00.png 0.03125
memorial01.png 0.0625
...
memorial15.png 1024
  • 估计相机响应

对于许多 HDR 构造算法,需要知道相机响应函数(CRF)。我们使用一种标定算法来估计所有 256 个像素值的逆 CRF。

  • 生成 HDR 图像

我们使用 Debevec 的加权方案,利用上一项中计算的响应来构造 HDR 图像。

  • 对 HDR 图像进行色调映射

由于我们想在普通 LDR 显示器上查看结果,我们必须将 HDR 图像映射到 8 位范围,同时保留大多数细节。这是色调映射方法的主要目标。我们使用带双边滤波的色调映射器,并将 2.2 设置为伽马校正的值。

  • 执行曝光融合

当我们不需要 HDR 图像时,有一种合并曝光的替代方法。这个过程称为曝光融合,它产生不需要伽马校正的 LDR 图像。它也不使用照片的曝光值。

  • 写入结果

现在是查看结果的时候了。注意,HDR 图像无法存储为常见的图像格式之一,因此我们将其保存为 Radiance 图像(.hdr)。此外,所有 HDR 成像函数都返回 [0, 1] 范围内的结果,因此我们应当将结果乘以 255。

你可以尝试其他色调映射算法:cv::TonemapDrago、cv::TonemapMantiuk 和 cv::TonemapReinhard。你也可以为你的照片调整 HDR 标定和色调映射方法中的参数。

ldr.png

fusion.png

  1. Paul E Debevec and Jitendra Malik. Recovering high dynamic range radiance maps from photographs. In ACM SIGGRAPH 2008 classes, page 31. ACM, 2008. [DM97]
  2. Mark A Robertson, Sean Borman, and Robert L Stevenson. Dynamic range improvement through multiple exposures. In Image Processing, 1999. ICIP 99. Proceedings. 1999 International Conference on, volume 3, pages 159–163. IEEE, 1999. [RB99]
  3. Tom Mertens, Jan Kautz, and Frank Van Reeth. Exposure fusion. In Computer Graphics and Applications, 2007. PG’07. 15th Pacific Conference on, pages 382–390. IEEE, 2007. [MK07]
  4. 维基百科-HDR
  5. Recovering High Dynamic Range Radiance Maps from Photographs(网页)