Sep 27, 2009

Color, hsi, hue, saturation

Hue 色相,指 “the degree to which a stimulus can be described as similar to or different from stimuli that are described as red, green, blue, and yellow,”
我们通常所说的颜色就是指色相。


在RGB空间,颜色处于一个立方体内,将这个立方体旋转一下,以(0,0,0)和(255,255,255)之间的对角线作为纵轴 z,则坐标 (\theta,\pho,z) Hue, Saturation, Intensity.

色相从 0 到 360,每隔60分别为红,黄,绿,青,蓝,品红
red 255,0,0
yellow 255,255,0
green 0,255,0
cyan 0,255,255
blue 0,0,255
magenta 255,255,0
以上还是有规律的


我的简易理解,可能不是很准确
1. Intensity
是红绿蓝三原色的整体构成的亮度
2. Saturation 表示该颜色混合白光的程度。另 c = min(R,G,B),白光混合的程度为 c/I。
c=0时,s=1,也就是此时没有混合白光
取 RGB 最小的值,减去这个值,则去除了白光
3. 去除白光后,根据剩下的两个颜色,可以根据剩下的两个原色的程度求 H. 看下表。因为下表求的值,和实际的值有些许误差。所以这种理解不大准确。



Ordering Hue Region Formula
R \ge G \ge B Red-Yellow h_{Preucil\ circle} = 60^{\circ} \cdot \frac{G - B}{R - B}
G > R \ge B Yellow-Green h_{Preucil\ circle} = 60^{\circ} \cdot \left( 2 - \frac{R - B}{G - B}\right)
G \ge B > R Green-Cyan h_{Preucil\ circle} = 60^{\circ} \cdot \left( 2 + \frac{B - R}{G - R}\right)
\ B > G > R\ Cyan-Blue h_{Preucil\ circle} = 60^{\circ} \cdot \left( 4 - \frac{G - R}{B - R}\right)
B > R \ge G Blue-Magenta h_{Preucil\ circle} = 60^{\circ} \cdot \left( 4 + \frac{R - G}{B - G}\right)
R \ge B > G Magenta-Red h_{Preucil\ circle} = 60^{\circ} \cdot \left( 6 - \frac{B - G}{R - G}\right)

调整的含义:
1. 亮度变大
应为同等比例增大 RGB, 由上面公式可以看出,可以保证 HS 不变
2. 饱和度变大
亮度不变,意味着 R+G+B 不变,饱和度变大,意味着 c (见上)变小,色相不变,意味着另两个原色同等比例增加。

0 comments: