给定 CIELAB 颜色(L* A* B* 值),如何降低色度(饱和度)?
色度可以计算如下:
C ab= sqrt(a ²+b*²)
假设输出为 72。如何转换变量a
并b
强制色度为例如。43?
给定 CIELAB 颜色(L* A* B* 值),如何降低色度(饱和度)?
色度可以计算如下:
C ab= sqrt(a ²+b*²)
假设输出为 72。如何转换变量a
并b
强制色度为例如。43?
简短的回答:要将极坐标反转回笛卡尔空间,您还需要使用 HUE 相关性。否则你将不知道向量的方向。
要将 a b转换为色调:
hueab = 180 * atan2( a , b ) / pi();
然后将色调和色度转换回 L * a * b *,然后:
a = Cab * cos((hueab * PI()) / 180);
b = Cab * sin((hueab * PI()) / 180);
你提到饱和度。色度不饱和。
CIELAB 不做饱和度,但 CIELUV 和 CIECAM02 等其他颜色模型做。
CIELUV 的 L *与 LAB 相同。但 LUV 是基于 1976 年 UCS 色度图,它使用 uʹvʹ 坐标,是 1931 年色度图的简单投影。LUV 将 uʹvʹ 每个乘以 13L *,使它们成为 u * v *。
您创建色调和色度的方式与 LAB 相同,但使用 LUV 您可以创建有用的饱和度相关性,这在 LAB 中是不可能的。
从色度u * v *创建饱和度:
Suv = Cuv / Lstar;
微不足道,并且要使饱和度恢复到色度,显然:
Cuv = Suv * Lstar;
CIELAB 和 CIELUV 均于 1976 年问世(大约与第一次星球大战同时出现)。今天我们有更精确的模型,如 CIECAM02、CAM16、J z a z b z、ZCAM 等。我鼓励你看看其中的一些。
此外,您可能对这个CIELUV 实现感兴趣,HSLUV有一些好处,包括在选择颜色时指示色域限制。