Bootstrap

python怎么使用rgb颜色-python – 根据RGB值更改图像的颜色

请参阅链接问题中的解决方案:您可以调整shift_hue()函数来调整色调,饱和度和值,而不仅仅是调整色调.这应该允许您根据需要移动所有这些参数.

原版的:

def shift_hue(arr, hout):

r, g, b, a = np.rollaxis(arr, axis=-1)

h, s, v = rgb_to_hsv(r, g, b)

h = hout

r, g, b = hsv_to_rgb(h, s, v)

arr = np.dstack((r, g, b, a))

return arr

调整版本:

def shift_hsv(arr, delta_h, delta_, delta_v):

r, g, b, a = np.rollaxis(arr, axis=-1)

h, s, v = rgb_to_hsv(r, g, b)

h += delta_h

s += delta_s

v += delta_v

r, g, b = hsv_to_rgb(h, s, v)

arr = np.dstack((r, g, b, a))

return arr

假设您知道原始图像的基色和所需的目标颜色,则可以轻松计算增量:

base_h, base_s, base_v = rgb_to_hsv(base_r, base_g, base_b)

target_h, target_s, target_v = rgb_to_hsv(target_r, target_g, target_b)

delta_h, delta_s, delta_v = target_h - base_h, target_s - base_s, target_v - base_v

;