从数学上增加 RGB 颜色的温暖度

问题描述 投票:0回答:3

我正在寻找一种使 RGB 颜色“更暖”的方法。我最初尝试增加 RGB 颜色的 R 分量以使其更暖,但这产生了意想不到的结果。增加 RGB 颜色温暖度的正确方法是什么?

colors rgb
3个回答
1
投票

未来寻找这个的人:

r = r + adjustment
g = g
b = b - adjustment

蓝色应该减少以对抗红色的增加,反之亦然。建议在 0-20 范围内调整。

来源:https://tannerhelland.com/2014/07/01/simple-algorithms- adjustment-image-temper-tint.html


0
投票

我不确定你是否使用Python - 实际上我刚刚发布了另一个引用 colorsys 库的答案,所以我保证我不会出售它 - 但我会将我的 RGB 值转换为 HSV 并增加“价值”或者做一个“如果-那么”并检查一些价值,看看我可以在哪里增加我的温暖。有时,增加饱和度会使图像看起来卡通化,基本上已经从复杂的颜色回归到主要的颜色。

祝你好运!


0
投票

其实我也在尝试做同样的事情。

在 HSV 颜色空间中使颜色变得更暖很容易。

一种方法是使用

colorsys
Python 库。

该库允许您在不同颜色空间之间转换颜色。要使颜色更暖,您可以增加色调通道的值。色调通道的范围为 0 至 360,其中 0 为红色,120 为绿色,240 为蓝色。增加色调通道会将颜色移向红色。

import colorsys

r, g, b = (120, 10, 20)

hue, saturation, value = colorsys.rgb_to_hsv(r, g, b)
hue += 10
if hue > 360:
    hue -= 360
warmColor = colorsys.hsv_to_rgb(hue, saturation, value)

上面的代码是如何使用该库的简单示例。 请记住,warmColor 将是新的 r、g、b 值的元组,并且所有 3 个值都将是浮点型。

© www.soinside.com 2019 - 2024. All rights reserved.