数字图像处理 第6章-彩色图像处理
在图像处理中,彩色的运用受两个主要因素的推动。第一,彩色是一个强有力的描绘子,它常常可简化从场景中提取和识别目标;第二,人可以辨别几千种彩色色调和亮度,但相比之下只能辨别几十种灰度色调。第二个因素在人工图像分析中特别重要。彩色图像处理可分为两个主要领域:全彩色处理和伪彩色处理。在第一类中,通常要求图像用全彩色传感器获取,如彩色电视摄像机或彩色扫描仪。在第二类中,问题是对一种特定的单色灰度或灰度范围赋予一种颜色。到目前为止,多数数字彩色图像处理是在伪彩色层面完成的。然而,在过去的十年里,彩色传感器和用于处理彩色图像的硬件在合理的价格上变得更容易接受,导致现在的全彩色图像处理技术的应用日益广泛,包括出版、可视化和互联网应用。
6.1 彩色基础
虽然人的大脑感知和理解颜色所遵循的过程还是未完全了解的一种生理和心理现象,但颜色的物理性质可由实验和理论结果支持的基本形式来表示。
在1666年,艾萨克·牛顿
(
I
s
a
a
c
N
e
w
t
o
n
)
(IsaacNewton)
(IsaacNewton)发现了一种现象,当一束太阳光通过一个玻璃棱镜时,出现的光束不是白色的,而是由一端为紫色、另一端为红色的连续色谱组成。色谱可分为6个宽的区域:紫色、蓝色、绿色、黄色、色和红色。当观察全彩色时,色谱末尾的颜色不是突变的,而是每种颜色混合平滑地过渡到下一种颜色的。
基本上,人类和某些其他动物感知一个物体颜色是由物体反射光的性质决定的。可见光由电磁波谱中相对较窄的频段组成。一个物体反射的光如果在所有可见光波长范围内是平衡的,那么对观察者来说显示为白色。然而,一个物体反射有限的可见光谱,则物体呈现某种颜色。例如,绿色物体反射具有 500~570nm 范围内主要波长的光,吸收其他波长的多数能量。
6.2 彩色模型
彩色模型(也称为彩色空间或彩色系统)的目的是在某些标准下用通常可以接受的方式方便地对彩色加以说明。本质上,彩色模型是坐标系统和子空间的说明,其中,位于系统中的每种颜色都由单个点来表示。
现在所用的大多数彩色模型不是面向硬件(如彩色监视器和打印机)的,就是面向应用的,在这里,彩色操作是一个目的(例如针对动画的彩色图形创作)。在数字图像处理中,实际中最通用的面向硬件的模型是
R
G
B
RGB
RGB(红、绿、蓝)模型。
C
M
Y
CMY
CMY(青粉红、黄)模型和
C
M
Y
K
CMYK
CMYK(青、粉红、黄、黑)模型是针对彩色打印机的;以及
H
S
I
HSI
HSI(色调、饱和度亮度)模型,这种模型更符合人描述和解释颜色的方式。
6.2.1 RGB彩色模型
在
R
G
B
RGB
RGB模型中,每种颜色出现在红、绿、蓝的原色光谱分量中。该模型基于笛卡儿坐标系。所考虑的彩色子空间是图6.7所示的立方体,图中
R
G
B
RGB
RGB原色值位于3个角上:二次色青色、深红色和黄色位于另外3个角上,黑色位于原点处,白色位于离原点最远的角上。在该模型中,灰度(
R
G
B
RGB
RGB值相等的点)沿着连接这两点的直线从黑色延伸到白色。在这一模型中的不同颜色是位于立方体上的或立方体内部的点,且由自原点延伸的向量来定义。如下图所示:
6.2.2 CMY和CMYK彩色模型
青色、深红色和黄色是光的二次色,换句话说,是颜料的原色。例如,当青色颜料涂覆的表面用白光照射时,该表面将不反射红光。也就是说,青色从反射的白光中减去红光,白光本身由等量的红光、绿光和蓝光组成大多数在纸上沉积彩色颜料的设备,如彩色打印机和复印机,要求输入
C
M
Y
CMY
CMY数据或在内部进行
R
G
B
RGB
RGB 到
C
M
Y
CMY
CMY的转换。如下:
[
C
M
Y
]
=
[
1
1
1
]
−
[
R
G
B
]
\begin{bmatrix} \begin{matrix} C \\M\\Y \\\end{matrix} \end{bmatrix} =\begin{bmatrix} \begin{matrix} 1 \\1\\1 \\\end{matrix} \end{bmatrix}- \begin{bmatrix} \begin{matrix} R\\G\\B \\\end{matrix} \end{bmatrix}
CMY
=
111
−
RGB
该转换还揭示
R
G
B
RGB
RGB值可以很容易地通过1减去
C
M
Y
CMY
CMY值从
C
M
Y
CMY
CMY 集中得到。
6.2.3 HSI彩色模型
HSI(色调、饱和度和强度)彩色模型,该模型可在彩色图像中从携带的彩色信息(色调和饱和度)中消去强度分量的影响。
HSI模型是开发基于彩色描述的图像处理算法的理想工具,这种彩色描述对人来说是自然目直观的,毕竟人才是这些算法的开发者和使用者。
形成 HSI空间所要求的色调、饱和度和强度值可由RGB彩色立方体得到。
从 RGB 到 HSl 的彩色转换
给定一幅RGB彩色格式的图像,每个RGB像素的H分量可用下式得到:
H
=
{
θ
B
≤
G
360
−
θ
B
>
G
H=\begin{cases} θ & B≤G \\ 360-θ & B>G \end{cases}
H={θ360−θB≤GB>G
其中
θ
=
a
r
c
c
o
s
{
1
2
[
(
R
−
G
)
+
(
R
−
B
)
]
[
(
R
−
G
)
2
+
(
R
−
B
)
(
G
−
B
)
]
1
/
2
}
θ=arccos\{{{{1\over 2}[(R-G)+(R-B)]} \over [(R-G)^2+(R-B)(G-B)]^{1/2}}\}
θ=arccos{[(R−G)2+(R−B)(G−B)]1/221[(R−G)+(R−B)]}
S可用下式得到:
S
=
1
−
3
(
R
+
G
+
B
)
[
m
i
n
(
R
,
G
,
B
)
]
S=1-{3\over (R+G+B)}[min(R,G,B)]
S=1−(R+G+B)3[min(R,G,B)]
I分量如下:
I
=
1
3
(
R
+
G
+
B
)
I={1\over 3}(R+G+B)
I=31(R+G+B)
从 HSI 到 RGB 的彩色转换
在[0,1]内给出 HSI值,现在我们想要在相同的值域找到对应的 RGB值。可用的公式取决于H的值。在原色分隔中有3个相隔120°的扇区(见图6.13)。我们从H乘以 360°开始,这时的色调值回到原来的范围[0°,360°]内。
RG 扇区(0°≤ H<120°):当H的值在该扇区中时,RGB 分量由以下公式给出:
B
=
I
(
1
−
S
)
B=I(1-S)
B=I(1−S)
R
=
I
[
1
+
S
c
o
s
H
c
o
s
(
60
°
−
H
)
]
R=I[1+{S cosH \over cos(60°-H)}]
R=I[1+cos(60°−H)ScosH]
G
=
3
I
−
(
R
+
B
)
G=3I-(R+B)
G=3I−(R+B)
GB 扇区(120°≤ H<240°):如果给定的H值在该扇区中,则首先从H中减去 120°,即
H
=
H
−
120
°
H=H-120°
H=H−120°
则 RGB 分量为
R
=
I
(
1
−
S
)
R=I(1-S)
R=I(1−S)
G
=
I
[
1
+
S
c
o
s
H
c
o
s
(
60
°
−
H
)
]
G=I[1+{S cosH \over cos(60°-H)}]
G=I[1+cos(60°−H)ScosH]
G
=
3
I
−
(
R
+
G
)
G=3I-(R+G)
G=3I−(R+G)
BR扇区(240°≤ H<360°):最后,如果H的值在该扇区中,则从 H中减去 240°,即:
G
=
I
(
1
−
S
)
G=I(1-S)
G=I(1−S)
B
=
I
[
1
+
S
c
o
s
H
c
o
s
(
60
°
−
H
)
]
B=I[1+{S cosH \over cos(60°-H)}]
B=I[1+cos(60°−H)ScosH]
R
=
3
I
−
(
G
+
B
)
R=3I-(G+B)
R=3I−(G+B)
6.3 伪彩色图像处理
伪彩色(也称为假彩色)图像处理是指基于一种指定的规则对灰度值赋以颜色的处理。
6.3.1 灰度分层
灰度分层(有时称为密度分层)和彩色编码技术是伪彩色图像处理的最简单的例子之一。如果一幅图像被描述为三维函数,则分层方法可以看成是放置一些平行于该图像的坐标平面的平面,然后,每个平面在相交的区域中“切割”图像函数。
6.3.2 灰度到彩色的变换
与前一节讨论的简单分层技术相比,其他类型的变换更通用,也更能拓宽伪彩色增强结果的范围。一种特别有吸引力的方法如图6.23所示。这一方法的基本概念是对任何输人像素的灰度执行3个独立的变换。然后,将3个变换结果分别送人彩色电视监视器的红、绿、蓝通道。这种方法产生一幅合成图像,该合成图像的彩色内容由变换函数的特性调制。注意,这些方法是对一幅图像的灰度值进行变换,而不是位置函数。
6.4 全彩色图像处理基础
全彩色图像处理方法分为两大类。
第一类是分别处理每一幅分是图像,然后由分别处理过的分量图像来形成一幅处理过的合成彩色图像。
第二类是直接处理彩色像素。因为全彩色图像至少有3个分量,所以彩色像素实际上是向量。例如,在 RGB 系统中,每个彩色点可以用RGB坐标系统中从原点延伸到该点的一个向量来解释。
令c代表 RGB彩色空间中的一个任意向量:
c
=
[
c
R
c
G
c
B
]
=
[
R
G
B
]
c =\begin{bmatrix} \begin{matrix} c_R \\c_G\\c_B \\\end{matrix} \end{bmatrix}=\begin{bmatrix} \begin{matrix} R\\G\\B \\\end{matrix} \end{bmatrix}
c=
cRcGcB
=
RGB
该式指出,c的分量仅是一幅彩色图像在一点处的 RGB 分量。我们可以这样认为,彩色分量是坐标(x,y)的函数,表示为
c
(
x
,
y
)
=
[
c
R
(
x
,
y
)
c
G
(
x
,
y
)
c
B
(
x
,
y
)
]
=
[
R
(
x
,
y
)
G
(
x
,
y
)
B
(
x
,
y
)
]
c(x,y) =\begin{bmatrix} \begin{matrix} c_R(x,y) \\c_G(x,y)\\c_B(x,y) \\\end{matrix} \end{bmatrix}=\begin{bmatrix} \begin{matrix} R(x,y)\\G(x,y)\\B(x,y) \\\end{matrix} \end{bmatrix}
c(x,y)=
cR(x,y)cG(x,y)cB(x,y)
=
R(x,y)G(x,y)B(x,y)
对于大小为MxN的图像,有MN个这样的向量c(x,y),其中x=0,1,2,…,M-1; y=0,1,2,…,N-1。
6.5 彩色变换
本节讨论的技术总称为彩色变换,主要涉及在单一彩色模型内处理彩色图像的分量,而不是这些分量在不同模型间的转换(如6.2.3节的RGB 到HSI和 HSI到 RGB 的转换)。
6.5.1 公式
如第3章的灰度变换技术那样,我们用下式表达的彩色变换作为模型:
g
(
x
,
y
)
=
T
[
f
(
x
,
y
)
]
g(x,y)=T[f(x,y)]
g(x,y)=T[f(x,y)]
其中f(x,y)是彩色输入图像,g(x,y)是变换后或处理过的彩色输出图像,T是在(x,y)的空间邻域上对f的一个算子。
理论上,任何变换都可在任何彩色模型中执行。然而,实际上,某些操作对特定的模型比较适用。对于一个给定的变换,表示法之间转换的代价是必须判定相关的彩色空间,然后再在该空间上执行该转换。例如,假设我们想要使用下式来改进全彩色图像的强度:
g
(
x
,
y
)
=
k
f
(
x
,
y
)
g(x,y)= kf(x,y)
g(x,y)=kf(x,y)
其中 0<k<1。在 HSI彩色空间中,使用如下的简单变换来完成:
s
3
=
k
r
3
s_3=kr_3
s3=kr3
其中
s
1
=
r
1
s_1=r_1
s1=r1和
s
2
=
r
2
s_2=r_2
s2=r2。仅有 HSI强度分量,被改变。在 RGB 彩色空间中,3个分量都必须变换:
s
i
=
k
r
i
,
i
=
1
,
2
,
3
s_i=kr_i,i=1,2,3
si=kri,i=1,2,3
CMY空间要求一组类似的线性变换集:
s
i
=
k
r
i
+
(
1
−
k
)
,
i
=
1
,
2
,
3
s_i=kr_i+(1-k),i=1,2,3
si=kri+(1−k),i=1,2,3
虽然HSI变换包含的操作最少,但把RGB图像或CMYK图像转换至 HSI空间所要求的计算量大大抵消了简单变换的优点,即转换的计算量比强度变换本身的计算量大。然而,若不考虑所选择的彩色空间,则其输出是相同的。
6.5.2 彩色分层
突出图像中某个特定的彩色区域对从其周围分离出目标物是很有用的。其基本思路不是(1)显示感兴趣的颜色以便从背景中突出它们,就是(2)像模板那样使用由彩色定义的区域,以便进一步处理。最直接的方法是延伸3.2.4节的灰度分层技术。然而,因为一个彩色像素是一个n维参量,得到的彩色变换函数要比对应的灰度变换函数复杂得多。
事实上,所要求的变换比到目前为止所考虑的彩色分量变换要复杂得多。这是因为所有彩色分层方法都要求每个像素变换后的彩色分量是所有个原始像素的彩色分量的函数。
对一幅彩色图像分层的最简方法之一是,把某些感兴趣区域之外的彩色映射为不突出的无确定性质的颜色。如果感兴趣的颜色由宽为 W、中心在原型(即平均)颜色点并具有分量(a,“…,a,)的立方体(或超立方体,此时n>3)所包围,则必要的一组变换为
=
{
0.5
[
∣
r
i
−
a
j
∣
>
W
2
]
1
≤
j
≤
n
i
=
1
,
2
,
⋅
⋅
⋅
,
n
r
i
其他
=\begin{cases} 0.5 & [|r_i-a_j|>{ W\over 2}]_{1≤j≤n} &i=1,2,···,n \\ r_i & 其他 \end{cases}
={0.5ri[∣ri−aj∣>2W]1≤j≤n其他i=1,2,⋅⋅⋅,n
这些变换通过强迫所有其他颜色为参考彩色空间的中点(一个任意选取的中性点),来突出原型周围的颜色。例如,对于 RGB 彩色空间,一个合适的中性点是灰度或彩色的中点(0.5,0.5,0.5)。
6.5.3 色调和彩色校正
彩色变换可在多数台式计算机上执行。与数字摄像机、平板扫描仪和喷墨打印机相连,个人计算机就变成了数字暗室,从而允许我们对图像进行色调调整和彩色校正,高级彩色重现系统不需要配备传统的湿式处理(暗室)设备即可进行这些处理。
6.5.4 直方图处理
由于彩色图像是由多个分量组成的,所以必须考虑适应多个分量和/或直方图的灰度级技术。正如所预料的那样,单独对彩色图像的分量进行直方图均衡通常是不明智的,这将产生不正确的彩色。一种更合乎逻辑的方法是均匀地展开这种彩色灰度,而保持彩色本身(即色调)不变。
6.6 平滑和锐化
6.6.1 彩色图像平滑
灰度级图像平滑可以看成是一种空间滤波操作,在这种操作中,滤波模板的系数具有相同的值。当模板滑过将被平滑的图像时,每一个像素被由该模板定义的邻域中的像素的平均值代替了。
这一概念可很容易地扩展到全彩色图像处理。主要差别是我们必须处理分量向量来替代灰度标量值。在一幅 RGB 彩色图像中,令S表示中心位于(x,y)的邻域定义的一组坐标。在该邻域中 RGB 分量的向量平均值为
c
ˉ
(
x
,
y
)
=
1
K
∑
(
s
,
t
)
∈
S
x
y
c
(
s
,
t
)
\bar c(x,y)={1\over K}∑_{(s,t)∈S_{xy}}c(s,t)
cˉ(x,y)=K1(s,t)∈Sxy∑c(s,t)
它遵循式子
c
(
x
,
y
)
=
[
c
R
(
x
,
y
)
c
G
(
x
,
y
)
c
B
(
x
,
y
)
]
=
[
R
(
x
,
y
)
G
(
x
,
y
)
B
(
x
,
y
)
]
c(x,y) =\begin{bmatrix} \begin{matrix} c_R(x,y) \\c_G(x,y)\\c_B(x,y) \\\end{matrix} \end{bmatrix}=\begin{bmatrix} \begin{matrix} R(x,y)\\G(x,y)\\B(x,y) \\\end{matrix} \end{bmatrix}
c(x,y)=
cR(x,y)cG(x,y)cB(x,y)
=
R(x,y)G(x,y)B(x,y)
且还有向量相加的性质,则有
c
ˉ
(
x
,
y
)
=
[
1
K
∑
(
s
,
t
)
∈
S
x
y
R
(
s
,
t
)
1
K
∑
(
s
,
t
)
∈
S
x
y
G
(
s
,
t
)
1
K
∑
(
s
,
t
)
∈
S
x
y
B
(
s
,
t
)
]
\bar c(x,y) =\begin{bmatrix} \begin{matrix} {1\over K}∑_{(s,t)∈S_{xy}}R(s,t) \\{1\over K}∑_{(s,t)∈S_{xy}}G(s,t)\\{1\over K}∑_{(s,t)∈S_{xy}}B(s,t) \\\end{matrix} \end{bmatrix}
cˉ(x,y)=
K1∑(s,t)∈SxyR(s,t)K1∑(s,t)∈SxyG(s,t)K1∑(s,t)∈SxyB(s,t)
我们将该向量的分量视为几幅标量图像,这些标量图像可通过传统的灰度级邻域处理来单独地平滑原 RGB 图像的每个平面来得到。这样,我们可以得出结论:邻域平均平滑可以在每个彩色平面的基础上执行。其结果与使用 RGB 彩色向量执行平均是相同的。
6.6.2 彩色图像锐化
我们考虑采用拉普拉斯方法的图像(尖)锐化处理。
从向量分析可知,个向量的拉普拉斯被定义为一个向量,其分量等于输人向量的各个标量分量的拉普拉斯。在RGB 彩色系统中,其中向量c的拉普拉斯变换为:
▽
2
[
c
(
x
,
y
)
]
=
=
[
▽
2
R
(
x
,
y
)
▽
2
G
(
x
,
y
)
▽
2
B
(
x
,
y
)
]
▽^2 [c(x,y)]==\begin{bmatrix} \begin{matrix} ▽^2R(x,y)\\▽^2G(x,y)\\▽^2B(x,y)\\\end{matrix} \end{bmatrix}
▽2[c(x,y)]==
▽2R(x,y)▽2G(x,y)▽2B(x,y)
6.7 基于彩色的图像分割
分割是把一幅图像分成多个区域的处理。
6.7.1 HSI 彩色空间的分割
如果我们希望以彩色为基础分割一幅图像,并且想在各个平面上执行这一处理,会很自然地首先想到 HSI空间,因为在色调图像中描绘彩色很方便。典型地,为了在色调图像中分离出感兴趣的孤立区域,将饱和度用做一幅模板图像。在彩色图像分割中不常使用亮度图像,因为它不携带彩色信息。
6.7.2 RGB 向量空间中的分割
虽然在HSI空间的工作更直观,但通常用 RGB 彩色向量得到的结果更好。
假如我们的目的是在一幅RGB 图像中分割某个指定的颜色区域的物体。给定一个感兴趣的有代表性彩色的彩色样点集,可得到我们希望分割的颜色的“平均”估计。令这个平均彩色用 RGB 向量a来表示。分割的目的是将给定图像中的每个 RGB像素分类,即在指定的区域内是否有一种颜色。为了执行这一比较,有一个相似性度量是必要的。最简单的度量之一是欧氏距离。令z表示 RGB 空间中的任意一点。如果它们之间的距离小于特定的阈值
D
0
D_0
D0。则称z与a是相似的。z和a间的欧氏距离由式(6.7-1)给出:
D
(
z
,
a
)
=
∣
∣
z
−
a
∣
∣
=
[
(
z
−
a
)
T
(
z
−
a
)
]
1
2
=
[
(
z
R
−
a
R
)
2
+
(
z
G
−
a
G
)
2
+
(
z
B
−
a
B
)
2
]
1
2
D(z,a)=||z-a||=[(z-a)^T(z-a)]^{1\over 2}=[(z_R-a_R)^2+(z_G-a_G)^2+(z_B-a_B)^2]^{1\over 2}
D(z,a)=∣∣z−a∣∣=[(z−a)T(z−a)]21=[(zR−aR)2+(zG−aG)2+(zB−aB)2]21
其中下标 R,G,B表示向量a和z的 RGB 分量。满足
D
(
z
,
a
)
≤
D
0
D(z,a)≤ D_0
D(z,a)≤D0的点的轨道是半径为
D
0
D_0
D0的实心球体如图 6.43(a)所示。
包含在球体内部和表面上的点满足指定的彩色准则;球体之外的点则不满足指定的颜色准则。在图像中对这两组点编码,比如说黑或白,就产生了一幅二值分割图像。式(6.7-1)的一种有用推广是形如式(6.7-2)的距离度量:
D
(
z
,
a
)
=
[
(
z
−
a
)
T
C
−
1
(
z
−
a
)
]
1
2
D(z,a)=[(z-a)^TC^{-1}(z-a)]^{1\over 2}
D(z,a)=[(z−a)TC−1(z−a)]21
其中 C是表示我们希望分割的有代表性颜色的样本的协方差矩阵。满足 D(z,a)≤D,的点的轨道描述了一个实心的三维椭球体[见图 6.43(b)],该椭球体的最大特点是主轴面向最大数据扩展方向。当C=I时,则为3x3 的单位矩阵,式(6.7-2)简化为式(6.7-1)。这时的分割与前一段中描述的分割相同。
因为距离是正的和单调的,所以可用距离的平方运算来代替,从而避免开方运算。然而,即使不计算平方根,对于实际大小的图像来说,实现式(6.7-1)或式(6.7-2)的计算代价也很高。一种折中方案是使用一个边界盒,如图 6.43 ( c ) 6.43(c) 6.43(c)所示。在该方法中,盒的中心在a处,沿每一个颜色轴选择的维数与沿每个轴的样本的标准差成比例。标准差的计算只使用一次样本颜色数据。
给定一个任意的彩色点,如同采用距离公式那样,通过确定它是否在盒子表面或内部来进行分然而,判定一个彩色点是在盒子内部还是在盒子外部,在计算上要比求球体或椭球的界限简单得多。
6.7.3 彩色边缘检测
下面讨论DiZenzo为此提出的一种方法
令r,g和b是沿 RGB 彩色空间(见图 6.7)的 R,G,B轴的单位向量,并定义向量为
u
=
∂
R
∂
x
r
+
∂
G
∂
x
g
+
∂
B
∂
x
b
u={∂R\over∂x}r+{∂G\over∂x}g+{∂B\over∂x}b
u=∂x∂Rr+∂x∂Gg+∂x∂Bb
v
=
∂
R
∂
y
r
+
∂
G
∂
y
g
+
∂
B
∂
y
b
v={∂R\over∂y}r+{∂G\over∂y}g+{∂B\over∂y}b
v=∂y∂Rr+∂y∂Gg+∂y∂Bb
令
g
x
x
,
g
y
y
和
g
x
y
g_{xx},g_{yy}和g_{xy}
gxx,gyy和gxy表示这些向量的点积,如下所示:
g
x
x
=
u
⋅
u
=
u
T
u
=
∣
∂
R
∂
x
∣
2
+
∣
∂
G
∂
x
∣
2
+
∣
∂
B
∂
x
∣
2
g_{xx}=u·u=u^Tu=|{∂R\over∂x}|^2+|{∂G\over∂x}|^2+|{∂B\over∂x}|^2
gxx=u⋅u=uTu=∣∂x∂R∣2+∣∂x∂G∣2+∣∂x∂B∣2
g
y
y
=
v
⋅
v
=
v
T
v
=
∣
∂
R
∂
y
∣
2
+
∣
∂
G
∂
y
∣
2
+
∣
∂
B
∂
y
∣
2
g_{yy}=v·v=v^Tv=|{∂R\over∂y}|^2+|{∂G\over∂y}|^2+|{∂B\over∂y}|^2
gyy=v⋅v=vTv=∣∂y∂R∣2+∣∂y∂G∣2+∣∂y∂B∣2
g
x
y
=
u
⋅
v
=
u
T
v
=
∂
R
∂
x
∂
R
∂
y
+
∂
G
∂
x
∂
G
∂
y
+
∂
B
∂
x
∂
B
∂
y
g_{xy}=u·v=u^Tv={∂R\over∂x}{∂R\over∂y}+{∂G\over∂x}{∂G\over∂y}+{∂B\over∂x}{∂B\over∂y}
gxy=u⋅v=uTv=∂x∂R∂y∂R+∂x∂G∂y∂G+∂x∂B∂y∂B
记住,R,G和B以及由此而来的g项是x和y的函数。使用这种表示法,可以证明c(x,y)的最大变化率方向可以由式(6.7-8)
θ
(
x
,
y
)
=
1
2
a
r
c
t
a
n
[
2
g
x
y
g
x
x
−
g
y
y
]
θ(x,y)={1\over 2}arctan[{2g_{xy}\over {g_{xx}-g_{yy}}}]
θ(x,y)=21arctan[gxx−gyy2gxy]
给出,且在角度θ(x,y)方向上点(x,y)处的变化率的值由下式给出:
F
θ
(
x
,
y
)
=
{
1
2
[
(
g
x
x
+
g
y
y
)
+
(
g
x
x
−
g
y
y
)
c
o
s
2
θ
(
x
,
y
)
+
2
g
x
y
s
i
n
2
θ
(
x
,
y
)
]
}
1
2
F_θ(x,y)=\{{1\over 2}[(g_{xx}+g_{yy})+(g_{xx}-g_{yy})cos 2θ(x,y)+2g_{xy}sin2θ(x,y)]\}^{1\over 2}
Fθ(x,y)={21[(gxx+gyy)+(gxx−gyy)cos2θ(x,y)+2gxysin2θ(x,y)]}21
因为 tan(α)= tan(α±π),如果
θ
0
θ_0
θ0是式(6.7-8)的一个解,则θ±π/2 也是该式的一个解。此外,由于
F
θ
=
F
θ
+
π
F_θ=F_θ+π
Fθ=Fθ+π。所以F仅需对θ值在半开区间[0,π)内计算。
式(6.7-8)提供两个相隔 90°的值这一事实,意味着该式在每个点(x,y)处涉及两个正交方向。沿着这些方向之一,F最大,沿其他方向F最小。这些结果的推导相当冗长,并且在这里详细讨论它对我们当前讨论的基本目标益处不大。
6.8 彩色图像中的噪声
5.2节中讨论的噪声模型可用于彩色图像。通常,彩色图像的噪声内容在每个彩色通道中具有相同的特性,但噪声对不同的彩色通道所造成的影响不同。一种可能是个别通道的电子学故障。然而,不同的噪声水平像是由每个彩色通道的相对照射强度的差异造成的。例如,在CCD 摄像机中红色滤镜的使用将减小用于红色传感器的照射强度。CCD传感器在低照明水平下就是噪声源,因此,这种情况下得到的 RGB 图像的红色分量图像与其他两幅分量图像相比往往是噪声源。
6.9 彩色图像压缩
因为描述彩色所要求的比特数比描述灰度级所要求的比特数大3~4倍,所以数据压缩在存储和传输彩色图像中起着核心的作用。对于前几节中描述的 RGB,CMY(K)和 HSI图像,任何压缩对象的数据是每个彩色像素的分量(即 RGB 图像中各像素的红、绿、蓝分量);它们是传达彩色信息的方式。压缩是减小或消除冗余和/或不相干数据的处理。