如何降低CIELAB颜色的色度?
How to reduce chroma of CIELAB color?
给定 CIELAB 颜色(L* A* B* 值),如何降低色度(饱和度)?
色度可以计算如下:
Cab=sqrt(a²+b*²)
假设输出为 72。如何转换变量 a
和 b
以强制色度为 eg。 43?
简答: 将极坐标反转回笛卡尔坐标 space,您还需要使用 HUE 关联.否则你不知道向量的方向。
更完整的答案:
要将 ab 转换为色调:
hueab = 180 * atan2( a , b ) / pi();
然后将色相和色度转换回L*a*b*,然后:
a = Cab * cos((hueab * PI()) / 180);
b = Cab * sin((hueab * PI()) / 180);
饱和度
你提到了饱和度。色度不是饱和度。
- 饱和度 是相对于该颜色自身亮度的色彩度。
- Chroma 是相对于单独的参考白色的色彩度。
CIELAB 不饱和,但其他颜色模型如 CIELUV 和 CIECAM02 会。
CIELUV 与 LAB 具有相同的 L*。但 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、Jzazbz、ZCAM等。我鼓励您看一看其中的一些内容。
此外,您可能对此 CIELUV implementation, HSLUV 感兴趣,它有一些好处,包括在选择颜色时指示色域限制。
只需将 a
和 b
乘以 43/72。
为什么这有效:对于乘数 m
、
C( m a, m b ) = sqrt( (ma)² + ((mb)² )
= m sqrt( a² + b² )
= m C( a, b )
也就是说,在L C h坐标中:
L“亮度”保持不变,
C 变为 m * C
hue = tan( b / a ) 保持不变。
(a
和 b
在 CIELAB
是极坐标,
C
和 CIELCh 中的 h
等效极坐标。)
给定 CIELAB 颜色(L* A* B* 值),如何降低色度(饱和度)?
色度可以计算如下:
Cab=sqrt(a²+b*²)
假设输出为 72。如何转换变量 a
和 b
以强制色度为 eg。 43?
简答: 将极坐标反转回笛卡尔坐标 space,您还需要使用 HUE 关联.否则你不知道向量的方向。
更完整的答案:
要将 ab 转换为色调:
hueab = 180 * atan2( a , b ) / pi();
然后将色相和色度转换回L*a*b*,然后:
a = Cab * cos((hueab * PI()) / 180);
b = Cab * sin((hueab * PI()) / 180);
饱和度
你提到了饱和度。色度不是饱和度。
- 饱和度 是相对于该颜色自身亮度的色彩度。
- Chroma 是相对于单独的参考白色的色彩度。
CIELAB 不饱和,但其他颜色模型如 CIELUV 和 CIECAM02 会。
CIELUV 与 LAB 具有相同的 L*。但 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、Jzazbz、ZCAM等。我鼓励您看一看其中的一些内容。
此外,您可能对此 CIELUV implementation, HSLUV 感兴趣,它有一些好处,包括在选择颜色时指示色域限制。
只需将 a
和 b
乘以 43/72。
为什么这有效:对于乘数 m
、
C( m a, m b ) = sqrt( (ma)² + ((mb)² )
= m sqrt( a² + b² )
= m C( a, b )
也就是说,在L C h坐标中:
L“亮度”保持不变,
C 变为 m * C
hue = tan( b / a ) 保持不变。
(a
和 b
在 CIELAB
是极坐标,
C
和 CIELCh 中的 h
等效极坐标。)