当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

清华大学:《多媒体技术》课程教学资源(教材教案讲义)第7章 颜色空间变换

资源类别:文库,文档格式:DOC,文档页数:32,文件大小:4.11MB,团购合买
7.1该用什么颜色空间 7.1.1颜色空间的分类问题 7.1.2颜色空间的变换问题 7.1.3什么颜色空间适合我 7.2计算机图形颜色空间 7.2.1g,CMY和CMYK 7.2.2Hs和RGB 7.2.3hsl/sB和RB 7.2.4HSI和RGB
点击下载完整版文档(DOC)

第7章颜色空间变换 7.1该用什么颜色空间 7.1.1颜色空间的分类问题 7.12颜色空间的变换问题 7.1.3什么颜色空间适合我 7.2计算机图形颜色空间 7.2.1RGB,CMY和CMYK 722HSV和RGB 7.23 HSLHSE和RGB 724HSI和RGB 73设备无关的颜色空间 7.3.1 CIE XYZ和 CIELAB 7.3.2 CIE XYZ和 CIELUV 7.3.3 CIE XYZ #H RGB. BT 601. BT 709 74电视系统颜色空间 741电视系统的颜色空间 7.4.2 European YUV 7.4.3 American YTQ 7.4.4 SMPTE-C RGB 7.4.5 ITU-R BT60 Y' CbCr 7.4.6ITU-R BT 709 Y'CbCr 7.4.7 SMPTE-240MY'PbPr 748 Kodak photoYcc颜色空间 练习与思考题 参考文献和站点 最近一百多年以来,为了满足各种不同用途的需求,人们已经开发了许多不同名称的颜 色空间,尽管目前几乎所有的颜色空间都是从RGB颜色空间导出的,但随着科学和技术的 进步,人们还在继续开发形形色色的颜色空间。可以说表示颜色的颜色空间的数目是无穷的, 而且可以说,现有的颜色空间还没有一个完全符合人的视觉感知特性、颜色本身的物理特性 或者发光物体和光反射物体的特性 本章选择了几种使用比较普通且与多媒体技术密切相关的颜色空间,介绍它们之间的转 换关系。在所介绍的这些颜色空间中,有些颜色空间彼此之间可直接转换,有些则要通过与 设备无关的颜色空间进行转换。各种不同颜色空间之间进行转换的目的各不相同,有的是为 了艺术家选择颜色的方便,有的是为了减少图像的数据量,有的是为了满足显示系统的要求 这就要求我们正确地选择颜色空间和颜色空间之间的转换关系,或者自己开发适合特定用途 的颜色空间 需要注意的是,本章介绍的变换算法和其中的系数虽然参照了许多文献之后选择的,笔 者也用 MATLAB60软件对某些数据进行过核实和校正,但教材中引用的物理数据却没有 条件逐一加以验证。因此,由这些物理数据导出的矩阵中的变换系数不一定能保证满足你的

第 7 章 颜色空间变换 7.1 该用什么颜色空间 7.1.1 颜色空间的分类问题 7.1.2 颜色空间的变换问题 7.1.3 什么颜色空间适合我 7.2 计算机图形颜色空间 7.2.1 RGB, CMY 和 CMYK 7.2.2 HSV 和 RGB 7.2.3 HSL/HSB 和 RGB 7.2.4 HSI 和 RGB 7.3 设备无关的颜色空间 7.3.1 CIE XYZ 和 CIELAB 7.3.2 CIE XYZ 和 CIELUV 7.3.3 CIE XYZ 和 RGB, BT.601, BT.709 7.4 电视系统颜色空间 7.4.1 电视系统的颜色空间 7.4.2 European Y'U'V' 7.4.3 American Y'I'Q' 7.4.4 SMPTE-C RGB 7.4.5 ITU-R BT.60 Y'CbCr 7.4.6 ITU-R BT.709 Y'CbCr 7.4.7 SMPTE-240M Y'PbPr 7.4.8 Kodak PhotoYCC 颜色空间 练习与思考题 参考文献和站点 最近一百多年以来,为了满足各种不同用途的需求,人们已经开发了许多不同名称的颜 色空间,尽管目前几乎所有的颜色空间都是从 RGB 颜色空间导出的,但随着科学和技术的 进步,人们还在继续开发形形色色的颜色空间。可以说表示颜色的颜色空间的数目是无穷的, 而且可以说,现有的颜色空间还没有一个完全符合人的视觉感知特性、颜色本身的物理特性 或者发光物体和光反射物体的特性。 本章选择了几种使用比较普通且与多媒体技术密切相关的颜色空间,介绍它们之间的转 换关系。在所介绍的这些颜色空间中,有些颜色空间彼此之间可直接转换,有些则要通过与 设备无关的颜色空间进行转换。各种不同颜色空间之间进行转换的目的各不相同,有的是为 了艺术家选择颜色的方便,有的是为了减少图像的数据量,有的是为了满足显示系统的要求。 这就要求我们正确地选择颜色空间和颜色空间之间的转换关系,或者自己开发适合特定用途 的颜色空间。 需要注意的是,本章介绍的变换算法和其中的系数虽然参照了许多文献之后选择的,笔 者也用 MATLAB 6.0 软件对某些数据进行过核实和校正,但教材中引用的物理数据却没有 条件逐一加以验证。因此,由这些物理数据导出的矩阵中的变换系数不一定能保证满足你的

7章颜色空间变换 需求,有些文献或者应用软件中使用的方法和系数也可能与本章介绍的方法和系数有所不 同。可以说,在颜色空间变换中目前也许还没有绝对准确的变换系数。 7.1该用什么颜色空间 711颜色空间的分类问题 探讨颜色空间的分类问题,目的是为了借鉴前人开发颜色空间的思路,以便我们更好地 利用现有的颜色空间,或者改进现有颜色空间存在的问题,同时也为了我们开发新的颜色空 间打下基础 颜色空间数不胜数,如何对这些颜色空间进行分类,笔者目前还没有看到一个准确的分 类原则和方法,但可考虑从颜色的感知角度、技术角度或者从应用角度来进行分类 从颜色感知的角度来分类,颜色空间可考虑分成如下三类: (1)混合( mixture型颜色空间:按三种基色的比例合成颜色。例如,RGB,CMY(K)和 XYZ等颜色空间就属于这种类型。 (2)非线性亮度色度(uma/ chroma)型颜色空间:用一个分量表示非色彩的感知,用两 个独立的分量表示色彩的感知。当需要黑白图像时,这样的系统非常方便。例如,L*a+b, L*u*v,YUV和YQ就属于这种类型 (3)强度饱和度色调 intensity/saturation/hue)型颜色空间:用饱和度和色调描述色彩 的感知,可使颜色的解释更直观,而且对消除光亮度的影响很有用。例如,HSI,HSL,HSV 和LCH等。 从技术上角度区分,颜色空间可考虑分成如下三类: (1)RGB型颜色空间汁算机图形颜色空间:这类模型主要用于电视机和计算机的颜色 显示系统。例如,RGB,HSI,HSL和HSV等颜色空间。在显示技术和印刷技术中,颜 色空间经常被称为颜色模型( color mode)。在笔者看来,“颜色空间”似乎侧重于颜色 的表示,而“颜色模型”似乎侧重于颜色的生成。 (2)XYZ型颜色空间/CIE颜色空间:这类颜色空间是由国际照明委员会定义的颜色空 间,通常作为国际性的颜色空间标准,用作颜色的基本度量方法。国际照明委员会定义 的颜色空间是与设备无关的颜色表示法,在科学计算中得到广泛应用。对不能直接相互 转换的两个颜色空间,可利用这类颜色空间作为过渡性的颜色空间,例如,CIE1931 XYZ,L*ab,L*u*v和LCH等颜色空间就可作为过渡性的转换空间 (3)YUV型颜色空间电视系统颜色空间:由广播电视需求的推动而开发的颜色空间, 主要目的是通过压缩色度信息以有效地播送彩色电视图像。例如,YUV,YQ,ITUR BT601 Y'CbCr,ITU-RBT709 Y'CbCr和 SMPTE-240MY"PbPr等颜色空间。 按照上述观点对颜色空间进行的分类综合在表7-01中。这样分类虽然并不很科学,也 不是绝对的,但对颜色空间的认识多少会有些帮助 表7-01颜色空间的分类 类型 RGB型xYz型Yv型 混合型 mixture) RGb xYZ 非线性亮度色度(uma/ chroma L'a'b'. L'u'., YI 强度/饱和度色调 HSI,HSL,HsSⅥ LCH/CHL intensity/saturation/hue

第 7 章 颜色空间变换 2 需求,有些文献或者应用软件中使用的方法和系数也可能与本章介绍的方法和系数有所不 同。可以说,在颜色空间变换中目前也许还没有绝对准确的变换系数。 7.1 该用什么颜色空间 7.1.1 颜色空间的分类问题 探讨颜色空间的分类问题,目的是为了借鉴前人开发颜色空间的思路,以便我们更好地 利用现有的颜色空间,或者改进现有颜色空间存在的问题,同时也为了我们开发新的颜色空 间打下基础。 颜色空间数不胜数,如何对这些颜色空间进行分类,笔者目前还没有看到一个准确的分 类原则和方法,但可考虑从颜色的感知角度、技术角度或者从应用角度来进行分类。 从颜色感知的角度来分类,颜色空间可考虑分成如下三类: (1) 混合(mixture)型颜色空间:按三种基色的比例合成颜色。例如,RGB,CMY(K)和 XYZ 等颜色空间就属于这种类型。 (2) 非线性亮度/色度(luma/chroma)型颜色空间:用一个分量表示非色彩的感知,用两 个独立的分量表示色彩的感知。当需要黑白图像时,这样的系统非常方便。例如,L*a*b, L*u*v,YUV 和 YIQ 就属于这种类型。 (3) 强度/饱和度/色调(intensity/saturation/hue)型颜色空间:用饱和度和色调描述色彩 的感知,可使颜色的解释更直观,而且对消除光亮度的影响很有用。例如,HSI, HSL, HSV 和 LCH 等。 从技术上角度区分,颜色空间可考虑分成如下三类: (1) RGB 型颜色空间/计算机图形颜色空间:这类模型主要用于电视机和计算机的颜色 显示系统。例如,RGB,HSI, HSL 和 HSV 等颜色空间。在显示技术和印刷技术中,颜 色空间经常被称为颜色模型(color mode)。在笔者看来,“颜色空间”似乎侧重于颜色 的表示,而“颜色模型”似乎侧重于颜色的生成。 (2) XYZ 型颜色空间/CIE 颜色空间:这类颜色空间是由国际照明委员会定义的颜色空 间,通常作为国际性的颜色空间标准,用作颜色的基本度量方法。国际照明委员会定义 的颜色空间是与设备无关的颜色表示法,在科学计算中得到广泛应用。对不能直接相互 转换的两个颜色空间,可利用这类颜色空间作为过渡性的颜色空间,例如,CIE 1931 XYZ,L*a*b,L*u*v 和 LCH 等颜色空间就可作为过渡性的转换空间。 (3) YUV 型颜色空间/电视系统颜色空间:由广播电视需求的推动而开发的颜色空间, 主要目的是通过压缩色度信息以有效地播送彩色电视图像。例如,YUV,YIQ,ITU-R BT.601 Y'CbCr, ITU-R BT.709 Y'CbCr 和 SMPTE-240M Y'PbPr 等颜色空间。 按照上述观点对颜色空间进行的分类综合在表 7-01 中。这样分类虽然并不很科学,也 不是绝对的,但对颜色空间的认识多少会有些帮助。 表 7-01 颜色空间的分类 类型 RGB 型 XYZ 型 YUV 型 混合型(mixture) RGB XYZ - 非线性亮度/色度(luma/chroma) - L * a *b * , L *u *v *YUV, YIQ 强度/饱和度/色调 (intensity/saturation/hue) HSI, HSL, HSV LCH/CHL

7章颜色空间变 7.12颜色空间的变换问题 颜色空间的变换是一个比较复杂的问题。虽然几乎所有的颜色空间都是从RGB颜色空 间导出的,数值计算也并不复杂,但因为这种变换涉及到视觉感知特性、光和物体的特性 也因此对计算模型产生了不同程度的怀疑。这种怀疑的主要来源是对视觉感知特性还不十分 清楚。尽管如此,人们还是需要在各种不同的颜色空间之间进行转换,以满足不同应用的需 求。有些是为了艺术家选择颜色的方便,有些是为了减少图像的数据量,有些是为了满足显 示系统的要求。 图7-01描绘了常见颜色空间之间的变换关系。从图中可以看到 (1)有些颜色空间之间可以直接变换。例如,RGB和HSL,RGB和HSB,RGB和RGB, RGB和 YCrCb, CIE XYZ和CIEL*a*b*等。 (2)有些颜色空间之间不能直接变换。例如,RGB和 CIE La*b*,C正XYZ和HSL,HSL 和 Y'CbCr等,它们之间的变换需要借助其他颜色空间进行过渡。 线性光 (xy)色度 感知均匀 CIE XVY- CIEL·u*v 极坐CI CIE XYZ 极坐标 CIEL率a 非线性变换 CIEL*h出C由 非线性变换 线性RGB 变换函数 非线性变搀HsL,HSB 非线性 图像編码系统 YCbCr 图7-01部分颜色空间的转换关系 713什么颜色空间适合我 为了回答这个问题,在此将常见颜色空间的主要特性作一个简单介绍,以供你选择颜色 空间作一个参考 1.RGB与CMY颜色空间 冬,, rGb(red, green and blue)是在三基色理论基础上开发的相加混色颜色空间。使用RGB 生成颜色容易实现,因此在使用阴极射线管(CRT)的图像显示系统中得到广泛的应用。RGB 颜色空间是与设备相关的,视觉对颜色的感知是非线性的,而且颜色的指定并不直观 CMY( cyan magenta yellow)也是在三基色理论基础上开发的颜色空间,不过它是相减混 色颜色空间。该空间主要用在印刷和打印系统。CMYK( cyan magenta yellow black)中的黑色 是为改善打印质量而增加的颜色分量。使用CMY(K)生成颜色容易实现,但把RGB颜色空 间表示的颜色正确地转换到CMY(K)空间不容易。CMY(K)颜色空间是与设备相关的,视觉 对颜色的感知是非线性的,而且颜色的指定也不直观。 2.计算机图形颜色空间 HSV(hue, saturation and value), HSL/HLS(hue, saturation and lightness), HSI(hue saturation and intensity ), HSB(hue, saturation and brightness), HCI(hue, chroma/colourfulness ntensity)和HVC(hue, value and chroma)等都是类似的颜色空间,它们都是从RGB颜色空间

第 7 章 颜色空间变换 3 7.1.2 颜色空间的变换问题 颜色空间的变换是一个比较复杂的问题。虽然几乎所有的颜色空间都是从 RGB 颜色空 间导出的,数值计算也并不复杂,但因为这种变换涉及到视觉感知特性、光和物体的特性, 也因此对计算模型产生了不同程度的怀疑。这种怀疑的主要来源是对视觉感知特性还不十分 清楚。尽管如此,人们还是需要在各种不同的颜色空间之间进行转换,以满足不同应用的需 求。有些是为了艺术家选择颜色的方便,有些是为了减少图像的数据量,有些是为了满足显 示系统的要求。 图 7-01 描绘了常见颜色空间之间的变换关系。从图中可以看到: (1) 有些颜色空间之间可以直接变换。例如,RGB 和 HSL,RGB 和 HSB,RGB 和 R'G'B', R'G'B'和 Y'CrCb,CIE XYZ 和 CIE L*a*b*等。 (2) 有些颜色空间之间不能直接变换。例如,RGB 和 CIE La*b*, CIE XYZ 和 HSL,HSL 和 Y'CbCr 等,它们之间的变换需要借助其他颜色空间进行过渡。 线性 RGB CIE xyY 线性 光 刺激 (x,y)色 度 CIE XYZ 感知均 匀 CIE L*u*v* CIE L*a*b* 非线性 R'G'B' 非线性 Y'CbCr HSL, HSB CIE L*huvCuv 面 向色 调 CIE L*habCab 3×3 投影 变 换 投影 变 换 非线性 变 换 非线性 变 换 极 坐 标 极 坐 标 非线性 变 换 3×3 变 换 函数 图 像编 码 系 统 图 7-01 部分颜色空间的转换关系 7.1.3 什么颜色空间适合我 为了回答这个问题,在此将常见颜色空间的主要特性作一个简单介绍,以供你选择颜色 空间作一个参考。 1. RGB 与 CMY 颜色空间 RGB(red,green and blue)是在三基色理论基础上开发的相加混色颜色空间。使用 RGB 生成颜色容易实现,因此在使用阴极射线管(CRT)的图像显示系统中得到广泛的应用。RGB 颜色空间是与设备相关的,视觉对颜色的感知是非线性的,而且颜色的指定并不直观。 CMY(cyan magenta yellow)也是在三基色理论基础上开发的颜色空间,不过它是相减混 色颜色空间。该空间主要用在印刷和打印系统。CMYK(cyan magenta yellow black)中的黑色 是为改善打印质量而增加的颜色分量。使用 CMY(K)生成颜色容易实现, 但把 RGB 颜色空 间表示的颜色正确地转换到 CMY(K)空间不容易。CMY(K)颜色空间是与设备相关的,视觉 对颜色的感知是非线性的,而且颜色的指定也不直观。 2. 计算机图形颜色空间 HSV(hue, saturation and value), HSL/HLS(hue, saturation and lightness), HSI(hue, saturation and intensity), HSB(hue,saturation and brightness), HCI(hue, chroma/colourfulness, intensity)和 HVC (hue, value and chroma)等都是类似的颜色空间,它们都是从 RGB 颜色空间

7章颜色空间变换 变换而来的,而且都是与设备相关的颜色空间。它们的优点是指定颜色方式非常直观,很容 易选择所需要的色调(颜色),稍微调整它的饱和度和亮度就可改变颜色。这些颜色空间都是 想把亮度从颜色信息中分离出来,这种假想的分离似乎在应用(如像图像处理)中有些优点, 而且每一种颜色空间都声称比其他的好。 HSV, HSU/HLS,HSI,HSB, HCL HVC等颜色空间是一种以色调为基础的颜色空间。这 些颜色空间在计算机应用软件中得到广泛应用。例如, Photoshop.用的颜色空间是HSB, Apple Color Picker中用的颜色空间是HSL。它们之间除了光亮度和明度的取值范围有所差 别之外,如HSL中用光亮度( lightness,而HSB中用明度( brightness),其他都基本相同。由 于这些颜色空间中的颜色分量值几乎都是直接从RGB导出的,因此它们之间的转换关系都 很直观。虽然RGB模型很适合用于计算机的外部设备,例如监视器和扫描仪,但它用于编 辑颜色时就显得不直观。此外,这些颜色空间只是把色调、饱和度和亮度明度的次序进行 重新排列或者重新标记,没有实质性的变化。但在使用之前需要对它们的含义和可能的取值 范围搞清楚 许多计算机应用软件采用的颜色空间与 Munsell.系统紧密相关,HBS就是其中的一例。 它的饱和度( saturation)与 Munsell中的色度( chroma)相对应,而明度( brightness)与颜色的值 ( value)相对应。要注意的是,不像 Munsell系统在感觉上是均匀的,在HSB系统中颜色之 间的距离与视觉感知是非均匀的。虽然HSB和 Munsell的HVC都是根据相同的想法开发的 但它们所采用的表示符号不同。在HSB系统中,色调沿颜色圆从0°~359°,饱和度和明度 都用百分比表示,从0%~100%。在 Munsell I的HVC系统中,色调虽然用角度,但用“2.5R 这样的符号表示从红色开始算起的色调为25级sep),Mune.的值和色度(相应于明度和饱 和度)都用0~10的数字表示 3.电视系统颜色空间 YUV,YQ, Y'CbCr/y' cbCr,Y"PbPr/Y"PbPr和YCC等颜色空间是为电视系统开发的 这些颜色空间是亮度和色度( luminance- chrominance)分离的电视播送颜色空间( television transmission color spaces) YUV是PAL和 SECAM模拟彩色电视制式采用的颜色空间,其中的YUV不是那几个 英文单词的组合词,而是符号,Y表示亮度,UV用来表示色差,U、V是构成彩色的两个 分量:YQ是NISC模拟彩色电视制式采用的颜色空间,其中的Y表示亮度,I、Q是两个 彩色分量: Y'Cb Cr和Y"PbPr是数字电视采用的标准在ITU-RBT601和BT709等推荐标 准中有明确的定义。无论是数字的还是模拟的颜色空间,这些颜色空间都把RGB颜色空间 分离成亮度和色度,目的是为了更有效地压缩图像的数据量,以便充分利用传输通道的带宽 或者节省存储容量。这些颜色空间都是与设备相关的,而且在闭环系统中的使用条件也相当 严格 现以YUV为例。YUV表示法的重要性是它的亮度信号(Y和色度信号(U,V)是相互独 立的,也就是Y信号分量构成的黑白灰度图与用U,V信号构成的两幅单色图是相互独立 的。由于Y,U和V是独立的,所以可以对这些单色图分别进行编码。此外,黑白电视能 接收彩色电视信号也就是利用了YUV分量之间的独立性。 YUV表示法的另一个优点是可以利用人眼的特性来降低数字彩色图像所需要的存储容 量。人眼对彩色细节的分辨能力远比对亮度细节的分辨能力低。若把人眼刚刚能分辨出的黑 白相间的条纹换成不同颜色的彩色条纹,那么眼睛就不再能分辨出条纹来。由于这个原因, 就可以把彩色分量的分辨率降低而不明显影响图像的质量,因而就可以把几个相邻像素不同 的彩色值当作相同的彩色值来处理,从而减少所需的存储容量。例如,要存储RGB8:8 8的彩色图像,即R,G和B分量都用8位二进制数表示,图像的大小为640×480像素

第 7 章 颜色空间变换 4 变换而来的,而且都是与设备相关的颜色空间。它们的优点是指定颜色方式非常直观,很容 易选择所需要的色调(颜色),稍微调整它的饱和度和亮度就可改变颜色。这些颜色空间都是 想把亮度从颜色信息中分离出来,这种假想的分离似乎在应用(如像图像处理)中有些优点, 而且每一种颜色空间都声称比其他的好。 HSV, HSL/HLS, HSI, HSB, HCI, HVC 等颜色空间是一种以色调为基础的颜色空间。这 些颜色空间在计算机应用软件中得到广泛应用。例如,Photoshop 采用的颜色空间是 HSB, Apple Color Picker 中用的颜色空间是 HSL。它们之间除了光亮度和明度的取值范围有所差 别之外,如 HSL 中用光亮度(lightness),而 HSB 中用明度(brightness),其他都基本相同。由 于这些颜色空间中的颜色分量值几乎都是直接从 RGB 导出的,因此它们之间的转换关系都 很直观。虽然 RGB 模型很适合用于计算机的外部设备,例如监视器和扫描仪,但它用于编 辑颜色时就显得不直观。此外,这些颜色空间只是把色调、饱和度和亮度/明度的次序进行 重新排列或者重新标记,没有实质性的变化。但在使用之前需要对它们的含义和可能的取值 范围搞清楚。 许多计算机应用软件采用的颜色空间与 Munsell 系统紧密相关,HBS 就是其中的一例。 它的饱和度(saturation)与 Munsell 中的色度(chroma)相对应,而明度(brightness)与颜色的值 (value)相对应。要注意的是,不像 Munsell 系统在感觉上是均匀的,在 HSB 系统中颜色之 间的距离与视觉感知是非均匀的。虽然 HSB 和 Munsell 的 HVC 都是根据相同的想法开发的, 但它们所采用的表示符号不同。在 HSB 系统中,色调沿颜色圆从 0 ~ 359 ,饱和度和明度 都用百分比表示,从 0%~100%。在 Munsell 的 HVC 系统中,色调虽然用角度,但用“2.5R” 这样的符号表示从红色开始算起的色调为 2.5 级(step),Munsell 的值和色度(相应于明度和饱 和度)都用 0~10 的数字表示。 3. 电视系统颜色空间 YUV, YIQ, Y'CbCr/Y'Cb'Cr', Y'PbPr/Y'Pb'Pr'和 YCC 等颜色空间是为电视系统开发的。 这些颜色空间是亮度和色度(luminance-chrominance)分离的电视播送颜色空间(television transmission color spaces)。 YUV 是 PAL 和 SECAM 模拟彩色电视制式采用的颜色空间,其中的 YUV 不是那几个 英文单词的组合词,而是符号,Y 表示亮度,UV 用来表示色差,U、V 是构成彩色的两个 分量;YIQ 是 NTSC 模拟彩色电视制式采用的颜色空间,其中的 Y 表示亮度,I、Q 是两个 彩色分量;Y'CbCr 和 Y'PbPr 是数字电视采用的标准, 在 ITU-R BT.601 和 BT.709 等推荐标 准中有明确的定义。无论是数字的还是模拟的颜色空间,这些颜色空间都把 RGB 颜色空间 分离成亮度和色度,目的是为了更有效地压缩图像的数据量,以便充分利用传输通道的带宽 或者节省存储容量。这些颜色空间都是与设备相关的,而且在闭环系统中的使用条件也相当 严格。 现以 YUV 为例。YUV 表示法的重要性是它的亮度信号(Y)和色度信号(U,V)是相互独 立的,也就是 Y 信号分量构成的黑白灰度图与用 U,V 信号构成的两幅单色图是相互独立 的。由于 Y,U 和 V 是独立的,所以可以对这些单色图分别进行编码。此外,黑白电视能 接收彩色电视信号也就是利用了 YUV 分量之间的独立性。 YUV 表示法的另一个优点是可以利用人眼的特性来降低数字彩色图像所需要的存储容 量。人眼对彩色细节的分辨能力远比对亮度细节的分辨能力低。若把人眼刚刚能分辨出的黑 白相间的条纹换成不同颜色的彩色条纹,那么眼睛就不再能分辨出条纹来。由于这个原因, 就可以把彩色分量的分辨率降低而不明显影响图像的质量,因而就可以把几个相邻像素不同 的彩色值当作相同的彩色值来处理,从而减少所需的存储容量。例如,要存储 RGB 8∶8∶ 8 的彩色图像,即 R,G 和 B 分量都用 8 位二进制数表示,图像的大小为 640×480 像素

7章颜色空间变换 需要的存储容量为921600字节。如果用YUV来表示同一幅彩色图像,Y分量仍然为640 ×480,并且Y分量仍然用8位表示,而对每四个相邻像素(2×2)的U,V值分别用相同的 个值表示,那么存储同样的一幅图像所需的存储空间就减少到460800字节。这实际上也 是图像压缩技术的一种方法 使用YQ和YrCb等颜色空间的道理与使用YUV的道理相同。 7.2计算机图形颜色空间 721RGB,CMY和CMYK RGB(red, green and blue)和CMY(cyan, magenta and yellow)是最流行的颜色空间,它们 都是与设备相关的颜色空间,前者用在显示器上,后者用在打印设备上。RGB称为相加混 色是因为它使用不同数量的红、绿和蓝三种基色相加而产生颜色,而CMY称为相减混色是 因为白光中减去不同数量的青、品红和黄三种颜色而产生颜色。 在印刷设备中,黑色分量加到CMY空间,因此,形成另一种颜色空间,叫做CMYK(cyan, magenta, yellow and black)。为把RGB转换成印刷用的CMY时,最简单的方法是把RGB 转换到 CIE XYZ,然后再从 CIE XYZ转换到CMY(K) 在质量要求不高仅求转换简单的情况下,RGB和CMY(K)这两个颜色空间之间可考虑 使用下面所述的转换关系进行转换 1.RGB和CMY (1)RGB→CMY Y B 其中,RG和B的取值范围是[0,1 procedure CMY to RGB(C, M,Y real; varR,G, B: real); G:=1-M B:=1-Y; (2)CMY→RGB C (7.2.1-1) 1|Y 其中,C,M和Y的取值范围是[0,1l Procedure RGb to CMY(R, G, B: real; var C, M,Y: real) C:=1-R;

第 7 章 颜色空间变换 5 需要的存储容量为 921 600 字节。如果用 YUV 来表示同一幅彩色图像,Y 分量仍然为 640 ×480,并且 Y 分量仍然用 8 位表示,而对每四个相邻像素(2×2)的 U,V 值分别用相同的 一个值表示,那么存储同样的一幅图像所需的存储空间就减少到 460 800 字节。这实际上也 是图像压缩技术的一种方法。 使用 YIQ 和 Y'CrCb 等颜色空间的道理与使用 YUV 的道理相同。 7.2 计算机图形颜色空间 7.2.1 RGB, CMY 和 CMYK RGB(red,green and blue)和 CMY(cyan, magenta and yellow)是最流行的颜色空间,它们 都是与设备相关的颜色空间,前者用在显示器上,后者用在打印设备上。RGB 称为相加混 色是因为它使用不同数量的红、绿和蓝三种基色相加而产生颜色,而 CMY 称为相减混色是 因为白光中减去不同数量的青、品红和黄三种颜色而产生颜色。 在印刷设备中,黑色分量加到 CMY 空间,因此,形成另一种颜色空间,叫做 CMYK(cyan, magenta,yellow and black)。为把 RGB 转换成印刷用的 CMY 时,最简单的方法是把 RGB 转换到 CIE XYZ,然后再从 CIE XYZ 转换到 CMY(K)。 在质量要求不高仅求转换简单的情况下,RGB 和 CMY(K)这两个颜色空间之间可考虑 使用下面所述的转换关系进行转换。 1. RGB 和 CMY (1) RGB→CMY 1 1 1 C R M G Y B             = −                   (7.2.1-1) 其中, R G B , 和 的取值范围是[0,1]。 procedure CMY_to_RGB(C,M,Y:real; var R,G,B:real); begin R:=1-C; G:=1-M; B:=1-Y; end; (2) CMY→RGB 1 1 1 R C G M B Y             = −                   (7.2.1-1') 其中, C M Y , 和 的取值范围是[0,1]。 Procedure RGB_to_CMY(R,G,B:real; var C,M,Y:real); begin C:=1-R; M:=1-G;

7章颜色空间变 Y:=1-B 2.CMY和CMYK (1)CMY→CMYK Black min( cyan, Magenta, Yellow) Cyan =(Cyan-Black)/(1-Black) (72.1-2) Magenta =(Magenta- Black)/(1-black) Yellow =(Yellow-Black)/(1-Black) (2)CMYk→CMY min(l, Cyan*(1-Black)+ black) Magenta min(1, Magenta*(1-Black)+ black) (7 Yellow min(1, Yellow*(1-Black ) black) 在有些应用软件中,上面描述的转换关系有所不同,需要参阅公司的相关文献才能明白 其原因 3.RGB和CMYK (1)RGB→CMYK B=min(1-R,1-G,1-B) C=(1-R-B)/(1-B) (72.1-3) M=(1-G-B)/(1-B) Y=(1-B-B)/1-B) (2)CMYk→RGB R=1-min(1,C°(1-B)+B) G=1-min(1,M*(1-B)+B) (7.21-3) B=1-min(1,y*(1-B)+B) 722HSV和RGB HSV(hue, saturation and value)是根据颜色的直观特性由 A R Smith在1978年创建的一 种颜色空间,也称六角锥体模型( hexcone model),如图7-02所示。在这个颜色空间中, 色调H:用角度度量,取值范围为0~360°。从红色开始按逆时针方向计算,红色为 0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°品红为300°。 饱和度S:取值范围为0.0~1.0 亮度值V:取值范围为0.0黑色)~1.0(白色)。 纯红色是H=0,S=1,V=1:S=0表示非彩色,在这种情况下,色调未定义。当 R,G,B和H,V的范围都是00~1.0时,这些值常用8位表示,它们的值用0~255之间的 整数

第 7 章 颜色空间变换 6 Y:=1-B; end; 2. CMY 和 CMYK (1) CMY→CMYK min( , , ) ( - ) /(1- ) ( - ) /(1- ) ( - ) /(1- ) Black Cyan Magenta Yellow Cyan Cyan Black Black Magenta Magenta Black Black Yellow Yellow Black Black = = = = (7.2.1-2) (2) CMYK→CMY min(1, (1- ) ) min(1, (1- ) ) min(1, (1- ) ) Cyan Cyan Black Black Magenta Magenta Black Black Yellow Yellow Black Black =  + =  + =  + (7.2.1-2') 在有些应用软件中,上面描述的转换关系有所不同,需要参阅公司的相关文献才能明白 其原因。 3. RGB 和 CMYK (1) RGB→CMYK min(1- ,1- ,1- ) (1- - ) /(1- ) (1- - ) /(1- ) (1- - ) /(1- ) B R G B C R B B M G B B Y B B B = = = = (7.2.1-3) (2) CMYK→RGB R 1- min(1, *(1- ) ) 1- min(1, *(1- ) ) 1- min(1, *(1- ) ) C B B G M B B B Y B B = + = + = + (7.2.1-3') 7.2.2 HSV 和 RGB HSV(hue, saturation and value)是根据颜色的直观特性由 A. R. Smith 在 1978 年创建的一 种颜色空间, 也称六角锥体模型(hexcone model),如图 7-02 所示。在这个颜色空间中, 色调 H :用角度度量,取值范围为 0 o~360o。从红色开始按逆时针方向计算,红色为 0 o,绿色为 120o ,蓝色为 240o。它们的补色是:黄色为 60o,青色为 180o ,品红为 300o。 饱和度 S :取值范围为 0.0~1.0。 亮度值 V :取值范围为 0.0(黑色)~1.0(白色)。 纯红色是 H S V = = = 0, 1, 1 ; S = 0 表示非彩色,在这种情况下,色调未定义。当 R G B H V , , , 和 的范围都是 0.0~1.0 时,这些值常用 8 位表示,它们的值用 0~255 之间的 整数

7章颜色空间变 图7-02HsⅤ颜色空间 自从HSV颜色空间出现之后,已经出现了几种大同小异的RGB和HSV颜色空间之间 的转换算法,它们之间没有转换矩阵,但可对算法进行描述。这两个颜色空间之间的转换算 法和程序在因特网上可以找到,本节引用的算法引自 http://www.realtime.ru/wwwboard/messages/120.html 本节引用的程序引自: 1.RGB到HSV的转换 (1)RGB→HsV( Travis)算法描述 Given rgb values. find the max and min S=(max-min)/max Ifs=0.h is undefined RI=(maxR)/(max-min) Gl=(max-G)/(max-min) fr=max and G= min.H=5+Bl else ifR= max and g not=min, H=1-GI else ifG= max and b= min, H=R1+1 else ifG= max and B not=mainH=3-BI H=3+G1 H=H 60(converts to degrees so S and V lie between 0 and 1, H between 0 and 360) (2)RGB→Hsv( Foley and Van Dam)算法描述 maximum of rgb min= minimum of rgb S=(max-min)/max ifs=0.h is undefined else delta= max-min

第 7 章 颜色空间变换 7 图 7-02 HSV 颜色空间 自从 HSV 颜色空间出现之后,已经出现了几种大同小异的 RGB 和 HSV 颜色空间之间 的转换算法,它们之间没有转换矩阵,但可对算法进行描述。这两个颜色空间之间的转换算 法和程序在因特网上可以找到,本节引用的算法引自: http://www.realtime.ru/wwwboard/messages/120.html 本节引用的程序引自: http://www.cis.ksu.edu/~seteam20/ 1. RGB 到 HSV 的转换 (1) RGB→HSV (Travis)算法描述 Given RGB values, find the max and min. V = max S = (max-min) / max If S = 0, H is undefined else R1 = (max-R) / (max-min) G1 = (max-G) / (max-min) B1 = (max-B) / (max-min) if R = max and G = min, H = 5 + B1 else if R = max and G not= min, H = 1 - G1 else if G = max and B = min, H = R1 + 1 else if G = max and B not=main, H = 3 - B1 else if R = max, H = 3 + G1 else H = 5 - R1 H = H*60 (converts to degrees so S and V lie between 0 and 1, H between 0 and 360) (2) RGB→HSV(Foley and VanDam)算法描述 max = maximum of RGB min = minimum of RGB V = max S = (max - min) / max if S = 0, H is undefined, else delta = max-min

7章颜色空间变 ifR=max, H=(G-b)/delta ifG=max, H=2+(B-R)delta if B=max, H=4+(R-G)/delta H=H ifH<0,H=H+360 2.HSⅤ到RGB的转换 (1)HSV→RGB( Travis)算法描述 Convert h degrees to a hexagon section hex =H/360 main colour =int(hex) sub colour =hex .main colour 1=(1-S) var2=(1-(S* sub colour))*V var3=(1-(S *(1-sub colour)))*V the if main colour=0.R=VG=var3.B=varl if main colour=1.R=var2G=Vb=varl if main colour= 2.R=varl.G=Vb=var 3 if main colour=3.R=varl.G=var2.B=v if main colour= 4.R=var3 G= varl.B=v if main colour=5.R=Vg=varl.B= var 2 where int(x)converts x to an integer value (2)HSV→RGB( Foley andⅤ an dam)算法描述 ifs=0 and H=undefined. R=G=B=V ifH=360.H=0 H=H/60 i= floor(H) f=h-I p t=V*(1-(S*(1-f) ifi=0,R=v,G=t,B=p if i=1,R=9,G=V, B= ifi=2,R=p,G=v,B=t if i=3,R=p, G=q, B if i=4, R=t, G=p, B=V ifi=5,R=V,G=p, B=q here floor is the c floor function

第 7 章 颜色空间变换 8 if R = max, H = (G-b)/delta if G = max, H = 2 + (B-R)/delta if B = max, H = 4 + (R-G)/delta H = H*60 if H < 0, H = H + 360 2. HSV 到 RGB 的转换 (1) HSV→RGB (Travis)算法描述 Convert H degrees to a hexagon section hex = H / 360 main_colour = int(hex) sub_colour = hex - main_colour var1 = (1-S)*V var2 = (1 -(S * sub_colour)) * V var3 = (1 -(S * (1 - sub_colour))) * V then if main_colour = 0, R = V, G = var3, B = var1 if main_colour = 1, R = var2, G = V, B = var1 if main_colour = 2, R = var1, G = V, B = var3 if main_colour = 3, R = var1, G = var2, B = V if main_colour = 4, R = var3, G = var1, B = V if main_colour = 5, R = V, G = var1, B = var2 where int(x) converts x to an integer value. (2) HSV→RGB (Foley and VanDam)算法描述 if S = 0 and H = undefined, R = G = B = V if H = 360, H = 0 H = H / 60 i = floor(H) f = H - I p = V*(1-S) q = V*(1-(S*f)) t = V*(1 - (S * (1-f))) if i = 0, R = v, G = t, B = p if i = 1, R = q, G = v, B = p if i = 2, R = p, G = v, B = t if i = 3, R = p, G = q, B = v if i = 4, R = t, G = p, B = v if i = 5, R = v, G = p, B = q where floor is the C floor function

7章颜色空间变 7.23 HSL/HSB和RGB HSL(hue, saturation and lightness)/HSB(hue, saturation and brightness颜色空间用于定义 台式机图形程序中的颜色,而且它们都是利用三条轴定义颜色。HSL与HSⅤ很相似,都是 用六角形锥体表示颜色。与HSV相比,HSL采用光亮度( lightness)作坐标,而HSⅤ采用亮 度( luminance)作标准值,而且HSL颜色饱和度最高时的光亮度L定义为0.5,而HSV颜色 饱和度最高时的亮度值则为1.0 图7-03HSL颜色空间 RGB和HSL之间的转换关系要追溯到 Addison- Wesley公司在1982年出版的一本书 ndamentals of Ineractive Computer Graphics。书的作者 Foley和 van dam在17章中对RGB 和HSL之间的转换算法作了描述,现摘要如下 1.RGB→HSL的算法描述 步骤1:把RGB值转换成[0,1中数值 例:R=0.83,G=0.07,B=0.07 步骤2:找出R,G和B中的最大值 本例中, macolor=0.83, mincolor=0.07 步骤3:L=( macolor+ mincolor) 本例中,L=(0.83+0.07)2=045 步骤4:如果最大和最小的颜色值相同,即表示灰色,那么S定义为0,而H未定义并 在程序中通常写成0。 步骤5:否则,测试L: IfL=0.5, S=(maxcolor-mincolor) /(2. 0-maxcolor-mincolor) 本例中,L=045,因此,S=(0.83-0.07)0.83+007)=0.84 yUR 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=(007-0.07)0.83-0.07)=0 步骤7:从第6步的计算看,H分成0~6区域。RGB颜色空间是一个立方体,而HSL 颜色空间是两个六角形锥体,其中的L是RGB立方体的主对角线。因此,RGB立

第 7 章 颜色空间变换 9 7.2.3 HSL/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。 图 7-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.83, 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)/(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 立

7章颜色空间变 方体的顶点:红、黄、绿、青、蓝和品红就成为HSL六角形的顶点,而数值0~6 就告诉我们H在哪个部分。H用[0°,360中的数值表示,因此 H=H*60.0 如果H为负值,则加360° (算法引自:htp/ /blas cis. mcmaster. ca- monger/hs- rgb. html) 2.HSL→RGB的算法描述 步骤1:IfS=0,表示灰色,定义R,G和B都为L 步骤2:否则,测试L IfL =0.5, temp2 =L+s-L*S 例如,如果H=120,S=0.79,L=0.52,则 temp2=(0.52+0.79)-(0.52*0.79)=0.899 步骤3: templ=2.0L-temp2 在本例中, templ=2.0+0.52-0.899=0.141 步骤4:把H转换到0 在本例中,H=120/360=0.33 步骤5:对于RG,B,计算另外的临时值emp3。方法如下 for R, temp3=H+1.0/3.0 for G, temp3=H for B, temp3 =H-1.0/3.0 if temp3 1, temp3= temp3-10 在本例中, Temp3=0.33+0.33=0.66, Temp3=0.3, Temp3=0.33-0.33=0 步骤6:对于R,G,B,做如下测试 If6.0* temp3<1, color- templ +( temp2-templ )*6.0*temp3 Else if 2.0*temp3 1, color= temp2 Else if 3.0* temp3 <2

第 7 章 颜色空间变换 10 方体的顶点:红、黄、绿、青、蓝和品红就成为 HSL 六角形的顶点,而数值 0~6 就告诉我们 H 在哪个部分。H 用[0o , 360o ]中的数值表示,因此, H = H*60.0 如果 H 为负值,则加 360o。 (算法引自:http://blas.cis.mcmaster.ca/~monger/hsl-rgb.html ) 2. HSL→RGB 的算法描述 步骤 1: If S=0, 表示灰色,定义 R, G 和 B 都为 L 步骤 2: 否则, 测试 L: If L = 0.5, temp2 = L+S - L*S 例如,如果 H=120, S=0.79, L=0.52, 则, temp2 = (0.52+0.79) - (0.52*0.79) = 0.899 步骤 3: temp1 = 2.0*L - temp2 在本例中, temp1 = 2.0*0.52 - 0.899 = 0.141 步骤 4: 把 H 转换到 0~1 在本例中,H=120/360 = 0.33 步骤 5: 对于 R, G, B, 计算另外的临时值 temp3 。方法如下: for R, temp3 = H+1.0/3.0 for G, temp3 = H for B, temp3 = H-1.0/3.0 if temp3 1, temp3 = temp3 - 1.0 在本例中, Rtemp3 = 0.33+0.33 = 0.66, Gtemp3 = 0.33, Btemp3= 0.33-0.33=0 步骤 6: 对于 R, G, B, 做如下测试: If 6.0* temp3 < 1, color = temp1 +( temp2 -temp1 )*6.0* temp3 Else if 2.0* temp3 < 1, color = temp2 Else if 3.0* temp3 < 2

点击下载完整版文档(DOC)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共32页,可试读12页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有