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

1. 全局的curve

在这里插入图片描述
画出公式3的曲线, 可以看出是对高光区域进行压缩的:

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

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

在这里插入图片描述
在这里插入图片描述

2. Automatic dodging-and-burning

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

在这里插入图片描述

其中公式9的原理是什么呢?
如下图:
s是尺度。
每个尺度求一个高斯差分。若高斯差分的值小于某个阈值,则认为该尺度是平坦的。
进而找到满足小于阈值条件下的最大的尺度 s, 命名为sm.
在这里插入图片描述

公式5,6,7表示高斯差分
在这里插入图片描述

公式8找到满足条件的s
在这里插入图片描述

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

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

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tywwwww/article/details/132202061