gpt4 book ai didi

algorithm - "vibrance"过滤器的算法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:07 26 4
gpt4 key购买 nike

许多应用程序都有一个振动过滤器,可以增加肤色以外的颜色的饱和度。我想知道这个过滤器背后的算法是什么——有没有可以指出的来源?

最佳答案

这取决于它是“积极的活力”还是“消极的活力”。负面活力只是去饱和。正振动会增加颜色的饱和度,但对于开始时饱和度较低的颜色,它会增加更多饱和度,如果红色成分是最大的成分,它就会发生一些特别的事情。查看一个实现,大致是这样的:(我不保证它与您定义的 Vibrance 相对应,但这是一件相当神秘的事情)

x = max(r, g, b)
y = min(r, g, b)
gray = toGray(unGamma(r, g, b))
scale = input
if x == r:
t = min(1, abs((g - b) / (x - y)))
scale = scale * (1 + t) * 0.5
a = (x - y) / 255
scale1 = scale * (2 - a)
scale2 = 1 + scale1 * (1 - a)
sub = y * scale1
r = unGamma(r * scale2 - sub)
g = unGamma(g * scale2 - sub)
b = unGamma(b * scale2 - sub)
gray2 = toGray(r, g, b)
r *= gray / gray2
g *= gray / gray2
b *= gray / gray2
m = max(r, g, b)
if Gamma(m) > 255:
scale = (unGamma(255) - gray2) / (m - gray2)
r = (r - gray2) * scale + gray2
g = (g - gray2) * scale + gray2
b = (b - gray2) * scale + gray2
(r, g, b) = Gamma(r, g, b)

或多或少。除了实现,我没有什么可指出的,似乎没有人愿意谈论它。

关于algorithm - "vibrance"过滤器的算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33966121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com