文章目录
引言
- 在凸显给处理中,彩色的运用主要受两个因素的推动。
① 第一,彩色是一个强有力的描绘子,它常常可简化从场景中 提取 和 识别 目标
② 第二,人可以辨别 几千种彩色色调 和 亮度,但相比之下只能辨别 几十种灰度色调。第二个因素在人工图像分析中特别重要 - 彩色图像处理可分为两个主要领域:a) 全彩色处理 b) 伪彩色处理
① 在第一类中,通常要求图像用全彩色传感器获取,如彩色电视摄像机或彩色扫描仪
② 在第二类中,问题是对特定的 单色灰度或灰度范围 赋予一种颜色
一、彩色基础 P249 - P253
-
在1666年,牛顿发现了一个现象,当一束太阳光通过一个玻璃棱镜时,出现的光束不是白色的,而是由 从一端为紫色到另一端为红色的连续彩色谱组成
-
人类和某些其他动物接收的一个物体的颜色由 物体反射光的性质决定(频率、波长)
-
可见光是由 电磁波谱中相对较窄的波段组成的。一个物体的反射的光如果在 所有可见光波长范围内是平衡的,对观察者来说显示 白色。然而,若一个物体对 有限的可见光谱范围反射,则物体呈现 某种颜色
-
人眼的锥状细胞是负责彩色视觉的传感器,详细的实验结果已确定,在人眼中的 6~7 百万的锥状体细胞中可分为 3个主要的感知类别,他们对应红、绿和蓝。下图显示了眼睛对 红、绿、蓝光吸收的平均实验曲线
-
由于人眼的这些吸收特性,所看到的 彩色 是所谓的 原色红®、绿(G)、蓝(B)的各种组合
-
为标准化起见,CIE(估计照明委员会)在1931年设计了下面的特定波长值为主原色:蓝 = 435.8nm,绿 = 546.1nm,红 = 700nm。但是,其实没有单一颜色可称为红、绿、蓝。而且,为标准化目的而定的特定三原色波长 并不意味着RGB分量单独作用就能产生所有谱色
-
光的原色相加可以产生二次色,如深红色(红色与蓝色)、青色(绿色加蓝色)和黄色(红色加绿色)。以恰当的亮度混合三原色,或混个二次色和它的对立原色,即可产生白光
-
光的原色 与 颜料或着色剂的原色 之间的区别很重要。后者的原色定义为 减去或吸收光的一种原色,并反射或传输另外两种原色 。因此,颜料的原色是深红色、青色和黄色,而二次色是红色、绿色和蓝色
-
通常用以区别不同颜色特性的是 亮度、色调和饱和度。
① 亮度 具体表达了 无色的强度 概念。灰度级 仅提供了一个 亮度的标量度量,它的范围从黑色到灰色最终到白色
② 色调是 光波混合中与 主波长 有关的属性。色调表示 观察者感知的主要颜色。这样我们说一个物体为红色、橙色或黄色时,指的是其 色调
③ 饱和度指的是 相对纯净度,或 一个色调混合的白光量。纯色谱 是 全饱和的。如深红色(红+白)和淡紫色(紫色+白光)这些色彩是 欠饱和 的。饱和度与所加白光的数量称反比 -
色调与饱和度一起称为 色度,因此,颜色可用其 亮度 和 色度 来表征
二、彩色模型 P254 - P262
彩色模型(也称彩色空间或彩色系统) 的用途是 在某种标准下用 通常可接受的方式 简化彩色规范。本质上,彩色模型是 坐标系统子空间的规范。位于系统中的每种颜色都由单个点来表示。
2.1 RGB 彩色模型 P254 - P257
-
RGB彩色模型是一种 相加混色模型,常用于彩色监视器和彩色摄像机
-
在RGB模型中,每种颜色出现在 红、绿、蓝的原色光谱分量中,这个模型基于笛卡尔坐标系统,所考虑的彩色子空间是下图所示的立方体
-
在RGB模型中表示的图像,是由3个 分量图像 组成的,每种原色对应有一幅 分量图像。即红、绿、蓝三种原色各对应一幅 分量图像 。当送入RGB监视器时,这3幅图像在屏幕上混合生成一幅 合成的彩色图像
-
在RGB空间,用以表示每一个像素的 比特数 叫做 像素深度。如果RGB图像中每一个分量图像 (红、绿、蓝)都是一副8比特的图像,在这种条件下,每一个 RGB彩色像素 [(R,G,B)值3个一组]都有 24比特的像素深度
-
全彩色图像通常用来表示一幅24比特的RGB彩色图像。在24比特RGB图像中,颜色总数是 ( 2 8 ) 2 = 16777216 (2^8)^2 = 16 777 216 (28)2=16777216。下图显示了24比特彩色立方体
2.2 CMY 和 CMYK 彩色模型 P257
-
CMY颜色模型是一种 相减混色模型,常常用于打印机
-
青、深红色和黄色是光的二次色,他们是颜料的原色。例如,当青色颜料涂覆的表面用白光照射时,从该表面反射的不是红光,而是从反射的白光中减去红色,白光本身是等量的红、绿、蓝光的组合
-
RGB转换为CMY:
[ C M Y ] = [ 1 1 1 ] − [ R G B ] \begin{bmatrix} C\\ M\\ Y\\ \end{bmatrix} = \begin{bmatrix} 1\\ 1\\ 1\\ \end{bmatrix} - \begin{bmatrix} R\\ G\\ B\\ \end{bmatrix} CMY = 111 − RGB
这里假设所有彩色纸都归一化到了区间[0,1]内 -
在CMY模型中 等量的青色、深红色、黄色混合可以生成黑色。但实际上,为了打印目的组合这些颜色所产生的黑色是 不纯 的。因此,为了生成真正的黑色(即在打印中起主要作用的颜色),加入第4种颜色 ---- 黑色,提出了 CMYK彩色模型。这样,当出版商提到 “四色打印时”,指的就是CMY彩色模型的三种原色再加上黑色
2.3 HSI彩色模型 P257 - P262
-
RGB模型与CMY模型这些彩色形同对于硬件实现很理想,但都不太适合用于颜色的直观描述。我们观察彩色物体时,更习惯用其 色调、饱和度和亮度来描述这个物体
① 色调 是一种纯色的颜色属性
② 饱和度 是一种纯色被白光稀释的程度的度量
③ 亮度 它体现的是无色的强度概念。使用灰度级可以表示亮度的大小
HSI模型就是以 色调、饱和度和强度 来描述说明彩色 -
HSI(色调、饱和度和强度)彩色模型,该模型可在彩色图像中从携带的彩色信息(色调和饱和度)中消去强度分量的影响
-
由RGB模型引申出HSI模型
① 在RGB模型中连接白色 与 黑色顶点,并将该模型以此连线作为垂直轴放置模型,我们称该连线为 灰度轴 或 强度轴
② 在此空间中(含边界):
a) 分析任意彩色(空间中一点)的 亮度(强度) 时,可以简单的找到通过一个垂直于强度轴 并包含该彩色点的 平面,找到该平面与强度轴的 交点(平面原点),该交点对应灰度轴上的数值 即为彩色点的灰度
b) 在 a) 中所描述的平面中,彩色点到强度(灰度)轴的距离(或彩色点与交点的连线长度) 即为该彩色的 饱和度
c) 关于描述彩色点的 色调,需定义一个平面,如:连接青色、白色、黑色三点构成一个三角面,在 该平面上的所有点色调均为青色(由于彩色空间中任意三个色点所构成的三角面中的颜色,均可以由三个色点所表示。这里白色与黑色不能改变色调,因此只有青色决定平面内所有的点的色彩,即所有点的色调均为青色)。在具体的HSI彩色空间(HSI彩色空间是与强度轴垂直的平面上所有点的轨迹)中,色调由来自某参考点的一个角度决定 -
HSI彩色空间与HSI模型
① HSI空间由一个垂直强度轴的位于与该轴垂直的平面内的彩色点的轨迹表示。当平面沿强度轴上下移动时,有每个平面与立方体表面构成的 横截面定义的边界不是三角形就是六边形(使用RGB模型变换后的立体结构)。HSI空间对应的是 图 6.13,其展示了沿垂直轴向下看的HSI空间
② 在 图 6.13 对应的平面中,可以看到三原色按 120° 分隔,二次色与原色相隔 60°,这个意味着二次色之间也相隔 120°
③ 在 图 6.13(b) 中显示了相同的六边形和任意一个彩色点,以此讨论 色调、饱和度和亮度
a) 该点的 色调 有来自某参考点的一个角度决定。通常,与红轴的 0° 指定为 0 色调,从这里开始色调逆时针增长
b) 饱和度(距垂直轴的距离)是从原点到该点的向量长度
c) 亮度,在该六边形平面中,各彩色点的 亮度 一致,均等于 HSI彩色空间(平面)与强度(灰度)轴的交点对应于强度(灰度)轴上的数值
④ HSI模型可以使用不同形状的立体结构来表示
-
从 RBG 到 HSI 的彩色变换
① 色调
H = { θ , B < = G 360 − θ H = \begin{cases} \theta,B<=G\\ 360 - \theta\\ \end{cases} H={θ,B<=G360−θ
θ = a r c c o s { 1 2 [ ( R − G ) + ( R − B ) ] [ ( R + G ) 2 + ( R + B ) ( G − B ) ] 1 2 } \theta = arc cos\begin{Bmatrix} \frac{\frac{1}{2}[(R-G) + (R - B)]}{[(R+G)^2 + (R + B)(G - B)]^{\frac{1}{2}}} \end{Bmatrix} θ=arccos{[(R+G)2+(R+B)(G−B)]2121[(R−G)+(R−B)]}
② 饱和度
S = 1 − 3 ( R + G + B ) [ m i n ( R , G , B ) ] S = 1 - \frac{3}{(R + G + B)}[min(R,G,B)] S=1−(R+G+B)3[min(R,G,B)]
③ 强度
I = 1 3 ( R + G + B ) I = \frac{1}{3}(R + G + B) I=31(R+G+B) -
从 HSI 到 RGB 的彩色变换(略)
-
处理HSI分量图像(略)
三、伪彩色图像处理 P262 - P267
- 伪彩色图像处理(也称假彩色)是根据特定的准则对灰度值赋以彩色的处理。伪彩色或假彩色一词用于区别全(真)彩色图像处理
- 伪彩色的主要应用是为了人眼观察和解释一幅图像或序列图像中的灰度目标。正像在本章开始指明的那样,利用彩色的主要东西之一是,人类可以辨别上千种颜色和强度,而相形之下只能辨别几十种灰度
- 使用伪彩色图像处理将灰度图像转化为彩色图像,便于人眼的观察
3.1 灰度分层 P262 - P265
- 灰度分层(也可称为密度分层)和 彩色编码技术是 伪彩色图像处理的最简单的例子之一
- 如果一幅图像被描述为三维函数(作为空间坐标的强度),分层方法可以看成是放置一些 平行于图像坐标面的平面,然后每个平面在相角的区域中 切割 图像函数
图中对于位于 f ( x , y ) = l i f(x,y) = l_i f(x,y)=li处的平面,该 平面上面 的任何灰度级的像素将编码为一种彩色,位于该 平面下面 的任何像素将编码为另一种彩色。(这里的处理可以概括为,图像中像素灰度值大于 l i l_i li的像素被编码为一种彩色,图像中像素灰度值小于 l i l_i li的像素被编码为另一种彩色,即由下图显示)
- 将上述的灰度分层进行技术总结
① 令[0,L - 1]表示 灰度级,令 l 0 l_0 l0代表黑色[f(x,y) = 0],并令 l L − 1 l_{L-1} lL−1 代表白色[f(x,y) = L - 1]。
② 假定垂直于灰度轴的P个平面定义为灰度级 l 1 , l 2 , . . . , l p l_1,l_2,...,l_p l1,l2,...,lp
③ 假定 0 < P < L - 1,P个平面将灰度分为 P + 1 个区间 V 1 , V 2 , . . . , V P + 1 V_1,V_2,...,V_{P+1} V1,V2,...,VP+1 。灰度级到彩色赋值根据如下关系进行:
f ( x , y ) = c k f(x,y) = c_k f(x,y)=ck
f ( x , y ) ∈ V k f(x,y) \in V_k f(x,y)∈Vk
式中 c k c_k ck是与第k个灰度区间 V k V_k Vk有关的颜色, V k V_k Vk由位于 l = k − 1 l = k - 1 l=k−1 和 l = k l = k l=k 处的分割平面定义
(通俗的说就是,图像像素灰度级 在不同的灰度区间 对应有不同的颜色)
3.2 灰度到彩色的变换 P265 - P267
- 某些其他类型的变换更通用也更能拓宽伪彩色增强结果的范围。一种特别有吸引力的方法示于下图。这一方法的基本概念是 对任何输入像素的灰度级执行3个独立的变换(灰度分层)。然后,3个变换结果分别送入彩色电视监视器的红绿蓝通道。这种方法产生一幅合成图像,其彩色内容受变换函数特性调制,注意,这些方法是一幅图像灰度值的变换而不是位置函数
- 上述的方法是对 同一单色图像 f(x,y) 处理3次后再合成。通常,将多幅单色图像 组合为 一幅彩色合成图像 是很重要的。在多光谱图像处理中常使用这一方法,这里,不同的传感器在不同的谱段产生独立的单色图像。下图所示的附加处理可以是彩色平衡、混合图像,以及产生图像的传感器响应特性的知识为基础来选择三幅用于显示的图像等技术
补充知识:真彩色图像 与 伪彩色图像
-
真彩色是 描述组成一幅彩色图像的每个像素时,直接使用RGB三个基色分量,这样彩色图像称为真彩色图像(即图像像素值为RGB值)。如果用 RGB 8:8:8 方式表示一幅彩色图像,就是R、G、B 都用 8位来表示,每个基色分量占一个字节,共 3 个字节,每个像素的颜色就是由这 3 个字节中的数值直接决定,可生成的颜色就是 2 2 4 = 16777216 2^24 = 16 777 216 224=16777216 种
-
伪彩图像的含义是,每个像素的颜色不是由每个基色分量的数值直接决定,而是把 像素值当做彩色查找表的表项入口地址(即图像的像素值不是RGB值,而是查找RGB值的一个地址值),去查找一个显示图像时使用的R、G、B值,用查找出的R、G、B值产生彩色