基于ZigBee开发的灯设备的色彩模式和色彩转换方案

本文介绍了基于ZigBee的灯设备颜色模式,包括RGB、HSV、HSL和CIE xyY模型,并详细探讨了它们之间的转换公式。文章深入解析了各种颜色空间的原理,提供了从xyY到RGB、HSL到RGB以及HSV到RGB的转换方法,并提及了在实际应用中的转换挑战。此外,还提供了Silabs灯设备的色彩显示参考代码。
摘要由CSDN通过智能技术生成

1 颜色模型

1.1 RGB

根据三原色原理,技术人员创造了RGB模式(R:Red G:Green B:Blue),并用三原色按不同比例混合形成高达1600万种颜色。在RGB 颜色模式,颜色由红色,绿色,和蓝色各成分强度的三个数值表示。从极小值0到最大值255,当所有颜色,都在最低值被显示的颜色将是黑色,当所有颜色都在他们的最大值被显示的颜色将是白色。

1.2 HSV和HSL

1.2.1 HSV

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型。这个模型中颜色的参数分别是:色调(H)、饱和度(S)、明度(V)。

(1)色调Hue用角度度量,取值范围为0°~360°;

(2)饱和度S表示颜色接近光谱色的程度,一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0~1,值越大,颜色越饱和;

(3)明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0(黑)到1(白)。

 

1.2.2 HSL

HSL(Hue,Saturation,Lightness)色彩模式是工业界的一种颜色标准,是通过对色相[0°,360°]、饱和度[0,1]、亮度[0,1]三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,这个标准几乎包括了人类视力所能感知的所有颜色,是迄今运用最广的颜色系统之一。它的三维表示为一双棱锥。

1.2.3 比较

在软件中,通常以一个线性或圆形色相选择器和在其中为选定的色相选取饱和度和明度/亮度的一个二维区域(通常为方形或三角形)形式提供给用户基于色相的颜色模型(HSV 或 HSL)。通过这种表示,在 HSV 和 HSL 之间的区别就无关紧要了。但是很多程序还允许你通过线性滑块或数值录入框来选择颜色的明度/亮度,而对于这些控件通常使用要么 HSL 要么 HSV(而非二者)。HSV 传统上更常用。

1.3 CIE xyY模型

CIE选择的X,Y和Z基色具有如下性质:

1、 所有的X,Y和Z值都是正的,匹配光谱颜色时不需要一种负值的基色;

2、用Y值表示人眼对亮度(luminance)的响应;

3、 如同RGB模型,X,Y和Z是相加基色。因此,每一种颜色都可以表示成X,Y和Z的混合。

定义CIE xyY颜色空间的根据是,对于一种给定的颜色,如果增加它的明度,每一种基色的光通量也要按比例增加,这样才能匹配这种颜色。因此,当颜色点离开原点(X=0,Y=0,Z=0)时,X:Y:Z的比值保持不变。此外,由于色度值仅与波长(色调)和纯度有关,而与总的辐射能量无关,因此在计算颜色的色度时,把X,Y和Z值相对于总的辐射能量=(X+Y+Z)进行归一化,并只需考虑它们的相对比例,因此,x,y,z称为三基色相对系数,于是配色方程可规格化为x+y+z=1。由于三个相对系数x,y,z之和恒为1,这就相当于把XYZ颜色锥体投影到X+Y+Z=1的平面上。

由于z可以从x+y+z=1导出,因此通常不考虑z,而用另外两个系数x和y表示颜色,并绘制以x和y为坐标的二维图形。这就相当于把X+Y+Z=1平面投射到(X,Y)平面,也就是Z=0的平面,这就是CIE xyY色度图。

在CIE xyY系统中,根据颜色坐标(x,y)可确定z,但不能仅从x和y导出三种基色刺激值X,Y和Z,还需要使用携带亮度信息的Y,其值与XYZ中的Y刺激值一致。

2 方案选择及转换公式

2.1 xyY      RGB

当在光照条件下判断不同颜色的相对亮度(亮度)时,人们倾向于将光谱的绿色部分内的光感知为比相等功率的红色或蓝色光更亮。因此,描述不同波长的感知亮度的发光度函数大致类似于M锥的光谱灵敏度。

CIE模型通过将Y设置为亮度来利用这一事实。 Z是准等于蓝色或S锥响应,X是选择为非负的响应曲线的混合。因此,XYZ三刺激值类似于但不同于人眼的LMS锥形响应。将Y设置为亮度具有有用的结果,对于任何给定的Y值,XZ平面将包含该亮度处的所有可能的色度。

三刺激值X,Y和Z的单位通常是任意选择的,因此Y = 1或Y = 100是彩色显示器支持的最亮的白色。然后可以使用标准光源推断X和Z的相应白点值。

转换公式如下:  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值