WEB开发网
开发学院软件开发VC Visual C++ 2005图像编程之预备知识 阅读

Visual C++ 2005图像编程之预备知识

 2008-08-29 21:34:36 来源:WEB开发网   
核心提示: 图 1-2图1-3(2)、CMY(CMYK)颜色空间CMY是用RGB的补色来表示色彩的,所谓的补色就是用白色减去RGB后得到的颜色,Visual C++ 2005图像编程之预备知识(3),白色减去绿色是洋红(Magenta),减去红色是青色(Cyan),然后转回到RGB系统中,具体的转换方
  

图 1-2         图1-3

(2)、CMY(CMYK)颜色空间

CMY是用RGB的补色来表示色彩的。所谓的补色就是用白色减去RGB后得到的颜色。白色减去绿色是洋红(Magenta),减去红色是青色(Cyan),减去蓝色是黄色(Yellow)。

上面的图1-3演示了CMY是如何相减混合颜色的。

CMYK是CMY的扩展,消除了CMY表示法中存在的理论和实际的差别。因为单独使用CMY无法合成真正的黑色,所以为了避免这个问题,CMYK就直接在CMY的基础添加了黑色的表示部分。

(2)、HSV颜色空间

色彩有三个属性:色相、彩度与明度。

1) 色相(Hue)又称为色调,是指色彩的相貌,或是区别色彩的名称或色彩的种类,

而色相与色彩明暗无关。

2) 彩度(Chroma)指色彩的强弱,也称色彩的饱和度(Saturation),色彩纯与不纯的分别。

3) 明度(Value)是指色彩的明暗程度, 光度的高低, 要看其接近白色或灰色的程度而定,越接近白色明度越高,越接近灰色或黑色,其明度越低。

HSV颜色空间就是用这三个属性描述不同颜色的。当Saturation为0时,Hue不存在。图像为灰度图。明度的Value也可以用亮度表示(Brightness)。Hue为0时颜色是红色。

(4) HLS颜色空间

HLS的基本意义和HSV相同,颜色的范围值一样:Hue(0-360),L(0-1),S(0-1),V(0-1)。

只是在表示相同颜色时值不同了,Hue为0颜色是蓝色。增加L的值相当于向Hue添加白色的比例,减少就是增加黑色的比例。

在现实生活中,还有其他很多的颜色空间如YIQ、YUV、YCrCb。我们这里不全部介绍,有兴趣的朋友可参考相关的书籍。

5.2 不同颜色空间的转换

图像处理中进行图像调整时,采用不同的颜色空间能更好的帮助我们实现对不同的颜色值进行调整。比如调整色调和饱和度时就把图像重RGB转为HSV调整HS的值,然后转回到RGB系统中。具体的转换方法在后续的图像处理库中,我会提供一个完整的类。

上一页  1 2 3 

Tags:Visual 图像 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接