Timothy Lotte 的通用音调文件夹
Timothy Lottes generic tonemapper
我正在查看 Timothy Lottes 的 presentation,他在其中导出了通用色调映射器(幻灯片 37 及后续幻灯片)。
虽然很好地解释了不同参数的用途,但我发现很难正确调整它们。我写了一个 simple script 来比较不同的色调映射器,但很难找到通用色调映射器的合理设置。
一般来说,我无法让曲线的肩部表现得与其他运算符相当。可能是我实现的错误(原始源代码在幻灯片中)。
def generic(x):
a = 1.2 # contrast
d = 1.1 # shoulder
mid_in = 1
mid_out = 0.18
hdr_max = 16
# It seems to work better when omitting the minus
b = (-math.pow(mid_in, a) + math.pow(hdr_max, a) * mid_out) / (math.pow(math.pow(hdr_max, a), d) - math.pow(math.pow(mid_in, a), d) * mid_out)
c = (math.pow(math.pow(hdr_max, a), d) * math.pow(mid_in, a) - math.pow(hdr_max, a) * math.pow(math.pow(mid_in, a), d) * mid_out) / (math.pow(math.pow(hdr_max, a), d) - math.pow(math.pow(mid_in, a), d) * mid_out)
z = math.pow(x, a)
y = z / (math.pow(z, d) * b + c)
return y
有没有人偶然试验过这个?
幻灯片中显示的代码显然有问题。 Bart Wronski 在他的 blog post 的评论部分给出了一些更正的代码。
我还更新了 github 项目以反映这一点。
我正在查看 Timothy Lottes 的 presentation,他在其中导出了通用色调映射器(幻灯片 37 及后续幻灯片)。
虽然很好地解释了不同参数的用途,但我发现很难正确调整它们。我写了一个 simple script 来比较不同的色调映射器,但很难找到通用色调映射器的合理设置。
一般来说,我无法让曲线的肩部表现得与其他运算符相当。可能是我实现的错误(原始源代码在幻灯片中)。
def generic(x):
a = 1.2 # contrast
d = 1.1 # shoulder
mid_in = 1
mid_out = 0.18
hdr_max = 16
# It seems to work better when omitting the minus
b = (-math.pow(mid_in, a) + math.pow(hdr_max, a) * mid_out) / (math.pow(math.pow(hdr_max, a), d) - math.pow(math.pow(mid_in, a), d) * mid_out)
c = (math.pow(math.pow(hdr_max, a), d) * math.pow(mid_in, a) - math.pow(hdr_max, a) * math.pow(math.pow(mid_in, a), d) * mid_out) / (math.pow(math.pow(hdr_max, a), d) - math.pow(math.pow(mid_in, a), d) * mid_out)
z = math.pow(x, a)
y = z / (math.pow(z, d) * b + c)
return y
有没有人偶然试验过这个?
幻灯片中显示的代码显然有问题。 Bart Wronski 在他的 blog post 的评论部分给出了一些更正的代码。 我还更新了 github 项目以反映这一点。