正在加载图片...
223HLS/HSB和RGB HSL(hue, saturation and lightness hSB(hue, saturation and brightness )颜色空间用于定义 台式机图形程序中的颜色,而且它们都是利用三条轴定义颜色。HSL与HSV很相似,都是 用六角形锥体表示颜色。与HSV相比,最大的差别HSL采用光亮度( lightnes)作坐标,而 HSV采用亮度( luminance)作标准值,而且HSL颜色饱和度最高时的光亮度L定义为0.5, 而HSV颜色饱和度最高时的亮度值则为1.0。 0~1 图2-03HSL颜色空间 RGB和HSL之间的转换关系要追溯到 Addison- Wesley公司在1982年出版的一本书 Fundamentals of Ineractive Computer Graphics。书的作者 Foley和 van dam在17章中对RGB 和HSL之间的转换算法作了描述,现摘要如下 1.RGB→HSL的算法描述 步骤1:把RGB值转换成[0,1]中数值 例:R=0.87,G=0.07,B=007 步骤2:找出RG和B中的最大值 本例中, macolor=0.83, mincolor=0.07 步骤3:L=( macolor+ mincolor)2 本例中,L=(0.83+007)2=045 步骤4:如果最大和最小的颜色值相同,即表示灰色,那么S定义为0,而H未定义并 在程序中通常写成0。 步骤5:否则,测试L: If L <0.5, S=(maxcolor-mincolor)(macolor+mincolor) If L >=0.5, s=(maxcolor-mincolor ) /(2.0-maxcolor-mincolor) 本例中,L=045,因此,S=(0.83-0.07)0.83+007)=0.84 A J4 6: If R=macolor, H=(G-B)(maxcolor-mincolor If G=macolor, H=2.0+(B-R)(maxcolor-mincolor) If B=macolor, H=4.0+(R-G(maxcolor-mincolor) 本例中,R= macolor,所以H=(0.07-0.07)/(0.83-0.07)=0 步骤7:从第6步的计算看,H分成0~6区域。RGB颜色空间是一个立方体,而HSL 颜色空间是两个六角形锥体,其中的L是RGB立方体的主对角线。因此,RGB立9 2.2.3 HLS/HSB 和 RGB HSL(hue, saturation and lightness)/HSB(hue, saturation and brightness)颜色空间用于定义 台式机图形程序中的颜色,而且它们都是利用三条轴定义颜色。HSL 与 HSV 很相似,都是 用六角形锥体表示颜色。与 HSV 相比,最大的差别 HSL 采用光亮度(lightness)作坐标,而 HSV 采用亮度(luminance)作标准值,而且 HSL 颜色饱和度最高时的光亮度 L 定义为 0.5, 而 HSV 颜色饱和度最高时的亮度值则为 1.0。 图 2-03 HSL 颜色空间 RGB 和 HSL 之间的转换关系要追溯到 Addison-Wesley 公司在 1982 年出版的一本书: Fundamentals of Ineractive Computer Graphics。书的作者 Foley 和 van Dam 在 17 章中对 RGB 和 HSL 之间的转换算法作了描述,现摘要如下。 1. RGB→HSL 的算法描述 步骤 1: 把 RGB 值转换成[0,1]中数值 例:R=0.87, G=0.07, B=0.07 步骤 2: 找出 R, G 和 B 中的最大值 本例中,maxcolor = 0.83, mincolor=0.07 步骤 3: L = (maxcolor + mincolor)/2 本例中,L = (0.83+0.07)/2 =0.45 步骤 4: 如果最大和最小的颜色值相同,即表示灰色,那么 S 定义为 0,而 H 未定义并 在程序中通常写成 0。 步骤 5: 否则, 测试 L: If L < 0.5, S=(maxcolor-mincolor)/(maxcolor+mincolor) If L >=0.5, S=(maxcolor-mincolor)/(2.0-maxcolor-mincolor) 本例中,L=0.45,因此,S=(0.83-0.07)/(0.83+0.07) = 0.84 步骤 6: If R=maxcolor, H = (G-B)/(maxcolor-mincolor) If G=maxcolor, H = 2.0 + (B-R)/(maxcolor-mincolor) If B=maxcolor, H = 4.0 + (R-G)/(maxcolor-mincolor) 本例中,R=maxcolor,所以 H = (0.07-0.07)/(0.83-0.07) = 0 步骤 7: 从第 6 步的计算看,H 分成 0~6 区域。RGB 颜色空间是一个立方体,而 HSL 颜色空间是两个六角形锥体,其中的 L 是 RGB 立方体的主对角线。因此,RGB 立
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有