Ch6 彩色图像处理
文章目录
- [Ch6 彩色图像处理](#Ch6 彩色图像处理)
-
- 彩色基础
- [彩色模型(Color models)](#彩色模型(Color models))
-
- [RGB(red, green, blue)](#RGB(red, green, blue))
- [CMY & CMYK(cyan, magenta, yellow/and black)](#CMY & CMYK(cyan, magenta, yellow/and black))
- [HSI(hue, saturation, intensity)](#HSI(hue, saturation, intensity))
- [HSV(hue, saturation, value)](#HSV(hue, saturation, value))
- [颜色空间及其转换(Converting to Other Color Spaces)](#颜色空间及其转换(Converting to Other Color Spaces))
- [The Basics of Color Image Processing](#The Basics of Color Image Processing)
- [Working Directly in RGB Vector Space](#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, 可以被定义为任意形式。