一、颜色编码方式(颜色空间/色域 color space):
1、RGB
RGB三原色是基于人肉眼对光线的生理作用;用红色(Red),绿色(Green) 蓝色(Blue)三种颜色的组合来表示;各色的取值范围为0-255
2、HSB/HSV
HSB(也叫HSV)模式更便于描述人眼对颜色的感觉;
三个参数的取值
色调(Hue,H):颜色类型(如红、蓝、黄)。大多数应用程序取值范围从0到360°。(0是红色,45是橙色,55是黄色)。
饱和度(Saturation,S):有时也称“纯度”,颜色的强度。范围从0到100%(0表示没有颜色,即黑色和白色之间的灰色阴影;100表示强烈的颜色)。
**亮度(Value,V)、Brightness **:表示颜色的亮度。范围从0到100%(0总是黑色;根据饱和度的不同,100可能是白色或多或少饱和的颜色)。
3、CMYK
CMYK也称作印刷色彩模式,顾名思义就是用来印刷的,是一种用于印刷品依靠反光的色彩模式。CMYK——即青Cyan、洋红(品红)Magenta、黄Yellow 、黑blacK四种色彩,在印刷中通常可由这四种色彩再现其它成千上万种色彩
青、品红、黄三色也是印刷三原色,三种颜色理论上可以混合出黑色,但是现实中由于生产技术的限制,油墨纯度往往不尽人意,混合出的黑色不够浓郁,只能依靠提纯的黑色加以混合。另外也可以节省油墨消耗,一副图的黑色部分,如果在没有黑色油墨的情况下是由等量的CMY混合成黑色的,如果有黑色则可以直接使用黑色减少油墨的使用量
CMYK四色的取值范围为0-100%
4、HSL color space
HSL也称为HLS或HSI,代表:
Hue色调:颜色类型(如红、蓝、黄)。在大多数应用程序中,范围从0到360°(每个值对应一种颜色:0是红色,45是橙色的阴影,55是黄色的阴影)。
Saturation 饱和度:颜色的变化取决于亮度。范围从0到100%(从黑白轴的中心)。
**Lightness 亮度(也称为强度):**取值范围为0 ~ 100%(黑色~白色)。
5、YUV
YUV模型用一个亮度和两个色度分量定义了一个颜色。YUV颜色模型用于PAL、NTSC和SECAM复合彩色视频标准。
YUV比计算机图形硬件中使用的标准RGB模型更接近人类对颜色的感知。
YUV颜色空间代表:
Y:光分量,或者说亮度。在大多数应用中,取值范围为0 ~ 100%。
U和V是色度分量(蓝亮度和红亮度差分量)。
表示为取决于您想要使用的YUV版本的因子。
6、灰度
灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255 ,黑色为0,故黑白图片也称灰度图像
二、彩色与黑白图像
灰度就是没有色彩,指黑白图像中点的颜色深度,范围一般从0到255,白色为255 ,黑色为0;RGB色彩分量全部相等,R=G=B=255为白色,R=G=B=0为黑色; 灰度在黑白显示器中显示像素点的亮暗差别,在彩色显示器中表现为颜色的不同,灰度级越多,图像层次越清楚逼真如果是一个二值灰度图象,它的象素值只能为0或1,我们说它的灰度级为2。用个例子来说明吧:一个256级灰度的图象,RGB(100,100,100)就代表灰度为100,RGB(50,50,50)代表灰度为50;
三、灰度转化
任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:
1.浮点算法:Gray=R*0.3+G*0.59+B*0.11
2.整数方法:Gray=(R*30+G*59+B*11)/100
3.移位方法:Gray =(R*28+G*151+B*77)>>8;
4.平均值法:Gray=(R+G+B)/3;
5.仅取绿色:Gray=G;
通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。
四、颜色转化
这是一个用c#开发的颜色转化器,可以实现以上所述颜色的转化
资源下载地址(含源码)