图像处理-Ch6-彩色图像处理
Ch6 彩色图像处理
无广告更易阅读,个人博客点此进入<–
文章目录
- Ch6 彩色图像处理
- 彩色基础
- 彩色模型(Color models)
- RGB(red, green, blue)
- CMY & CMYK(cyan, magenta, yellow/and black)
- HSI(hue, saturation, intensity)
- HSV(hue, saturation, value)
- 颜色空间及其转换(Converting to Other Color Spaces)
- The Basics of Color Image Processing
- Working Directly in RGB Vector Space
Q: 颜色(Color)是什么?
A: 人眼能够感知的部分电磁波信号。
本章需要了解:了解所有颜色空间、字母代表意思、均匀性颜色空间(L, V, B型)
彩色基础
区分不同颜色的特性通常是亮度、色调、饱和度。
- 亮度:发光强度的消色概念。
- 色调:混合光波中与主波长相关的属性、表示被观察者感知的主导色。(红色、橙色、黄色)
- 饱和度:相对的纯度,or 与一种色调混合的白光量。饱和度与所加的白光量成反比。
- 色度:色调+饱和度。
三色值: X , Y , Z X,Y,Z X,Y,Z
CIE色度图: x , y , z = 1 − ( x + y ) x,y,z=1-(x+y) x,y,z=1−(x+y), x(红)、y(绿)、z(蓝)
CIELAB(CIE L*a*b*模型):保持色彩一致、独立于设备的色彩模型。
- CIE L*a*b*色彩空间是一种与设备无关的色彩空间,能够准确地描述人眼可见的所有颜色。
- 它在色彩匹配、色彩差异评估以及色彩管理系统中非常有用。
- 它能够在不同的设备(如监视器、打印机等)之间保持一致的色彩表现。
L ∗ = 116 ⋅ ( Y Y n ) 1 3 − 16 a ∗ = 500 ⋅ ( ( X X n ) 1 3 − ( Y Y n ) 1 3 ) b ∗ = 200 ⋅ ( ( Y Y n ) 1 3 − ( Z Z n ) 1 3 ) L^\ast = 116 \cdot \left( \frac{Y}{Y_n} \right)^\frac{1}{3} - 16\\ a^\ast = 500 \cdot \left( \left( \frac{X}{X_n} \right)^\frac{1}{3} - \left( \frac{Y}{Y_n} \right)^\frac{1}{3} \right)\\ b^\ast = 200 \cdot \left( \left( \frac{Y}{Y_n} \right)^\frac{1}{3} - \left( \frac{Z}{Z_n} \right)^\frac{1}{3} \right) L∗=116⋅(YnY)31−16a∗=500⋅((XnX)31−(YnY)31)b∗=200⋅((YnY)31−(ZnZ)31)
彩色模型(Color models)
- 面向硬件:RGB(red, green, blue)
- 面向彩色打印开发:CMY,CMYK(cyan, magenta, yellow, black)
- 面向人类描述和解释颜色的方式:HSI(hue, saturation, intensity)
RGB(red, green, blue)
在RGB颜色空间中,表示每个pixel所用的bit数称为像素深度。
CMY & CMYK(cyan, magenta, yellow/and black)
颜料的原色:青色、深红色、黄色(用于彩色打印机),有时多加黑色。
- 白光照射涂有青色颜料的表面时,表面不会反射红光。
- 青色从反射的白光中减去红光、白光又等量的红绿蓝光组成。
HSI(hue, saturation, intensity)
观察彩色物体时,我们会用色调(hue)、饱和度(saturation)、亮度(intensity)来描述物体。
HSV(hue, saturation, value)
HSV代表色调(Hue)、饱和度(Saturation)和明度(Value)。
- 色调(H):它是色彩的基本属性,用于区分不同的颜色种类,用角度来度量,取值范围通常是0° - 360°。例如,0°或360°代表红色,120°代表绿色,240°代表蓝色。
- 饱和度(S):表示颜色的纯度,取值范围是0 - 1。饱和度越高,颜色越鲜艳纯粹;饱和度为0时,颜色变为灰色(只有明度信息)。
- 明度(V):也称为亮度,代表颜色的明亮程度,取值范围是0 - 1。
颜色空间及其转换(Converting to Other Color Spaces)
自然界中存在一些颜色,无法使用RGB颜色空间定义。
XYZ颜色空间可以定义世界上一切颜色。
RGB → NTSC(YIQ):
NTSC(National Television Standards Committee,美国国家电视标准委员会)颜色空间是一种用于模拟电视广播的颜色编码系统。它将颜色信息分解为亮度(Y)和两个色度分量(I 和 Q)
与YUV空间相似:YUV 是一种颜色编码方法,主要用于视频系统。其中 “Y” 表示亮度(Luminance 或 Luma),也就是灰度值;而 “U” 和 “V” 表示色度(Chrominance 或 Chroma),用于描述颜色信息。
[
Y
I
Q
]
=
[
0.299
0.587
0.114
0.596
−
0.274
−
0.322
0.211
−
0.523
0.312
]
[
R
G
B
]
\begin{bmatrix} Y \\ I \\ Q \end{bmatrix} = \begin{bmatrix} 0.299 & 0.587 & 0.114 \\ 0.596 & -0.274 & -0.322 \\ 0.211 & -0.523 & 0.312 \end{bmatrix} \begin{bmatrix} R \\ G \\ B \end{bmatrix}
YIQ
=
0.2990.5960.2110.587−0.274−0.5230.114−0.3220.312
RGB
NTSC → RGB:
[
R
G
B
]
=
[
1.000
0.956
0.621
1.000
−
0.272
−
0.647
1.000
−
1.106
1.703
]
[
Y
I
Q
]
\begin{bmatrix} R \\ G \\ B \end{bmatrix} = \begin{bmatrix} 1.000 & 0.956 & 0.621 \\ 1.000 & -0.272 & -0.647 \\ 1.000 & -1.106 & 1.703 \end{bmatrix} \begin{bmatrix} Y \\ I \\ Q \end{bmatrix}
RGB
=
1.0001.0001.0000.956−0.272−1.1060.621−0.6471.703
YIQ
RGB → YCbCr(用于编码数字图像):
YCbCr 是一种颜色空间,其中 “Y” 代表亮度(Luminance),“Cb” 和 “Cr” 分别代表蓝色色度(Chrominance of Blue)和红色色度(Chrominance of Red)。
[
Y
C
b
C
r
]
=
[
16
128
128
]
+
[
65.481
128.553
24.966
−
37.797
−
74.203
112.000
112.000
−
93.786
−
18.214
]
[
R
G
B
]
/
256
\begin{bmatrix} Y \\ Cb \\ Cr \end{bmatrix} = \begin{bmatrix} 16 \\ 128 \\ 128 \end{bmatrix} + \begin{bmatrix} 65.481 & 128.553 & 24.966 \\ -37.797 & -74.203 & 112.000 \\ 112.000 & -93.786 & -18.214 \end{bmatrix} \begin{bmatrix} R \\ G \\ B \end{bmatrix} /256
YCbCr
=
16128128
+
65.481−37.797112.000128.553−74.203−93.78624.966112.000−18.214
RGB
/256
CMY & CMYK:
[ C M Y ] = [ 1 1 1 ] − [ R G B ] , [ R G B ] = [ 1 1 1 ] − [ C M Y ] \ \begin{bmatrix} C \\ M \\ Y \end{bmatrix} = \begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix} - \begin{bmatrix} R \\ G \\ B \end{bmatrix} ,\quad \begin{bmatrix} R \\ G \\ B \end{bmatrix} = \begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix} - \begin{bmatrix} C \\ M \\ Y \end{bmatrix} CMY = 111 − RGB , RGB = 111 − CMY
RGB → HSI:
H
=
{
θ
if
B
≤
G
360
−
θ
if
B
>
G
θ
=
cos
−
1
{
1
2
[
(
R
−
G
)
+
(
R
−
B
)
]
[
(
R
−
G
)
2
+
(
R
−
B
)
(
G
−
B
)
]
1
2
}
S
=
1
−
3
R
+
G
+
B
[
min
(
R
,
G
,
B
)
]
I
=
1
3
(
R
+
G
+
B
)
\begin{align}H &= \begin{cases} \theta & \text{if } B \leq G \\ 360 - \theta & \text{if } B > G \end{cases}\\ \theta &= \cos^{-1}\left\{\frac{\frac{1}{2}[(R - G)+(R - B)]}{\left[(R - G)^2+(R - B)(G - B)\right]^{\frac{1}{2}}}\right\}\\ S &= 1 - \frac{3}{R + G + B}[\min(R, G, B)]\\ I &= \frac{1}{3}(R + G + B) \end{align}
HθSI={θ360−θif B≤Gif B>G=cos−1{[(R−G)2+(R−B)(G−B)]2121[(R−G)+(R−B)]}=1−R+G+B3[min(R,G,B)]=31(R+G+B)
HSI → RGB RG sector(0° ≤ H < 120°):
B
=
I
(
1
−
S
)
R
=
I
[
1
+
S
cos
H
cos
(
60
°
−
H
)
]
G
=
3
I
−
(
R
+
B
)
\begin{align} B &= I(1 - S)\\ R &= I\left[1+\frac{S\cos H}{\cos(60° - H)}\right]\\ G &= 3I-(R + B) \end{align}
BRG=I(1−S)=I[1+cos(60°−H)ScosH]=3I−(R+B)
HSI → RGB GB sector(120° ≤ H < 240°):
H
=
H
−
120
°
R
=
I
(
1
−
S
)
G
=
I
[
1
+
S
cos
H
cos
(
60
°
−
H
)
]
B
=
3
I
−
(
R
+
G
)
\begin{align} H&= H - 120°\\ R &= I(1 - S)\\ G &= I\left[1+\frac{S\cos H}{\cos(60° - H)}\right]\\ B &= 3I-(R + G) \end{align}
HRGB=H−120°=I(1−S)=I[1+cos(60°−H)ScosH]=3I−(R+G)
BR sector(240° ≤ H ≤ 360°):
H
=
H
−
240
°
G
=
I
(
1
−
S
)
B
=
I
[
1
+
S
cos
H
cos
(
60
°
−
H
)
]
R
=
3
I
−
(
G
+
B
)
\begin{align} H &= H - 240°\\ G &= I(1 - S)\\ B &= I\left[1+\frac{S\cos H}{\cos(60° - H)}\right]\\ R &= 3I-(G + B) \end{align}
HGBR=H−240°=I(1−S)=I[1+cos(60°−H)ScosH]=3I−(G+B)
The Basics of Color Image Processing
Q: 如何度量两个颜色之间的相似性?
RBG值是向量。
插值映射函数:
Working Directly in RGB Vector Space
使用梯度的颜色边缘检测
梯度(gradient):
∇
f
=
[
G
x
G
y
]
=
[
∂
f
∂
x
∂
f
∂
y
]
\nabla f=\left[\begin{array}{l} G_{x} \\ G_{y} \end{array}\right]=\left[\begin{array}{l} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \end{array}\right]
∇f=[GxGy]=[∂x∂f∂y∂f]
幅度(magnitude):
∣
∇
f
∣
=
mag
(
∇
f
)
=
[
G
x
2
+
G
y
2
]
1
/
2
=
[
(
∂
f
∂
x
)
2
+
(
∂
f
∂
y
)
2
]
1
/
2
|\nabla f|=\operatorname{mag}(\nabla f)=\left[G_{x}^{2}+G_{y}^{2}\right]^{1 / 2}=\left[\left(\frac{\partial f}{\partial x}\right)^{2}+\left(\frac{\partial f}{\partial y}\right)^{2}\right]^{1 / 2}
∣∇f∣=mag(∇f)=[Gx2+Gy2]1/2=[(∂x∂f)2+(∂y∂f)2]1/2
角度(angle):
α
(
x
,
y
)
=
tan
−
1
(
G
y
G
x
)
\alpha(x, y)=\tan ^{-1}\left(\frac{G_{y}}{G_{x}}\right)
α(x,y)=tan−1(GxGy)
r、g和b是沿R、G和B轴的单位向量 :
u
=
∂
R
∂
x
r
+
∂
G
∂
x
g
+
∂
B
∂
x
b
,
v
=
∂
R
∂
y
r
+
∂
G
∂
y
g
+
∂
B
∂
y
b
u=\frac{\partial R}{\partial x} r+\frac{\partial G}{\partial x} g+\frac{\partial B}{\partial x} b,\quad v=\frac{\partial R}{\partial y} r+\frac{\partial G}{\partial y} g+\frac{\partial B}{\partial y} b
u=∂x∂Rr+∂x∂Gg+∂x∂Bb,v=∂y∂Rr+∂y∂Gg+∂y∂Bb
定义数量(Quantities):
g
x
x
=
u
⋅
u
=
u
T
u
=
∣
∂
R
∂
x
∣
2
+
∣
∂
G
∂
x
∣
2
+
∣
∂
B
∂
x
∣
2
g
y
y
=
v
⋅
v
=
v
T
v
=
∣
∂
R
∂
y
∣
2
+
∣
∂
G
∂
y
∣
2
+
∣
∂
B
∂
y
∣
2
g
x
y
=
u
⋅
v
=
u
T
v
=
∂
R
∂
x
∂
R
∂
y
+
∂
G
∂
x
∂
G
∂
y
+
∂
B
∂
x
∂
B
∂
y
g_{x x}=u \cdot u=u^{T} u=\left|\frac{\partial R}{\partial x}\right|^{2}+\left|\frac{\partial G}{\partial x}\right|^{2}+\left|\frac{\partial B}{\partial x}\right|^{2}\\ g_{y y}=v \cdot v=v^{T} v=\left|\frac{\partial R}{\partial y}\right|^{2}+\left|\frac{\partial G}{\partial y}\right|^{2}+\left|\frac{\partial B}{\partial y}\right|^{2}\\ g_{x y}=u \cdot v=u^{T} v=\frac{\partial R}{\partial x} \frac{\partial R}{\partial y}+\frac{\partial G}{\partial x} \frac{\partial G}{\partial y}+\frac{\partial B}{\partial x} \frac{\partial B}{\partial y}
gxx=u⋅u=uTu=
∂x∂R
2+
∂x∂G
2+
∂x∂B
2gyy=v⋅v=vTv=
∂y∂R
2+
∂y∂G
2+
∂y∂B
2gxy=u⋅v=uTv=∂x∂R∂y∂R+∂x∂G∂y∂G+∂x∂B∂y∂B
角度是c(x,y)最大变化率的方向为
θ
(
x
,
y
)
\theta(x,y)
θ(x,y), 对应变化率的值为
F
θ
(
x
,
y
)
F_{\theta}(x,y)
Fθ(x,y):
θ
(
x
,
y
)
=
1
2
tan
−
1
(
2
g
x
y
g
x
x
−
g
y
y
)
F
θ
(
x
,
y
)
=
1
2
{
[
g
x
x
+
g
y
y
+
(
g
x
x
−
g
y
y
)
cos
2
θ
+
2
g
x
y
sin
2
θ
]
1
/
2
}
\theta(x, y)=\frac{1}{2} \tan ^{-1}\left(\frac{2 g_{x y}}{g_{x x}-g_{y y}}\right)\\ F_{\theta}(x, y)=\frac{1}{2}\left\{\left[g_{x x}+g_{y y}+\left(g_{x x}-g_{y y}\right) \cos 2 \theta+2 g_{x y} \sin 2 \theta\right]^{1 / 2}\right\}
θ(x,y)=21tan−1(gxx−gyy2gxy)Fθ(x,y)=21{[gxx+gyy+(gxx−gyy)cos2θ+2gxysin2θ]1/2}
RGB向量空间中的图像分割
如何获得一个感兴趣的模型?
距离度量(欧式距离):
D
(
z
,
m
)
=
∥
z
−
m
∥
=
[
(
z
−
m
)
T
(
z
−
m
)
]
1
/
2
=
[
(
z
R
−
m
R
)
2
+
(
z
G
−
m
G
)
2
+
(
z
B
−
m
B
)
2
]
1
/
2
\begin{align} D(z, m)&=\|z - m\|\\ &=\left[(z - m)^{T}(z - m)\right]^{1 / 2}\\ &=\left[\left(z_{R}-m_{R}\right)^{2}+\left(z_{G}-m_{G}\right)^{2}+\left(z_{B}-m_{B}\right)^{2}\right]^{1 / 2} \end{align}
D(z,m)=∥z−m∥=[(z−m)T(z−m)]1/2=[(zR−mR)2+(zG−mG)2+(zB−mB)2]1/2
上式使用欧氏距离。前提是量纲最好一致。
如果不一致,那么看下面的形式,类似于马氏距离。
一种有用的推广是如下形式的距离度量:
D
(
z
,
m
)
=
[
(
z
−
m
)
T
C
−
1
(
z
−
m
)
]
1
/
2
D(z, m)=\left[(z - m)^{T} C^{-1}(z - m)\right]^{1 / 2}
D(z,m)=[(z−m)TC−1(z−m)]1/2
C
≥
0
,
∣
C
∣
≠
0
C\ge 0,|C|\neq0
C≥0,∣C∣=0, 可以被定义为任意形式。
B}\right){2}\right]{1 / 2}
\end{align}
$$
上式使用欧氏距离。前提是量纲最好一致。
如果不一致,那么看下面的形式,类似于马氏距离。
一种有用的推广是如下形式的距离度量:
D
(
z
,
m
)
=
[
(
z
−
m
)
T
C
−
1
(
z
−
m
)
]
1
/
2
D(z, m)=\left[(z - m)^{T} C^{-1}(z - m)\right]^{1 / 2}
D(z,m)=[(z−m)TC−1(z−m)]1/2
C
≥
0
,
∣
C
∣
≠
0
C\ge 0,|C|\neq0
C≥0,∣C∣=0, 可以被定义为任意形式。