tonemapping:Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images

1. 全局的curve

tonemapping:Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images_第1张图片
画出公式3的曲线, 可以看出是对高光区域进行压缩的:

    x = np.arange(0, 5, 0.01)
    y = x / (1 + x)

    plt.figure()
    plt.plot(x, y, '+')
    plt.show()

在这里插入图片描述
tonemapping:Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images_第2张图片

2. Automatic dodging-and-burning

利用dodging and burning方法将公式3变为公式9

在这里插入图片描述

其中公式9的原理是什么呢?
如下图:
s是尺度。
每个尺度求一个高斯差分。若高斯差分的值小于某个阈值,则认为该尺度是平坦的。
进而找到满足小于阈值条件下的最大的尺度 s, 命名为sm.
tonemapping:Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images_第3张图片

公式5,6,7表示高斯差分
tonemapping:Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images_第4张图片

公式8找到满足条件的s
tonemapping:Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images_第5张图片

以上其实是找到该像素周围最大的平坦区域。

最终公式9将 公式3中的L(x,y)替换为 V1, 然后解释了为什么是 dodging 和 burned.

某个点的像素是 应该降低还是上升应该受到周围像素的影响。

tonemapping:Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images_第6张图片

你可能感兴趣的:(tone,mapping,tonemapping)