图像处理-Ch6-彩色图像处理

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)。

  1. 色调(H):它是色彩的基本属性,用于区分不同的颜色种类,用角度来度量,取值范围通常是0° - 360°。例如,0°或360°代表红色,120°代表绿色,240°代表蓝色。
  2. 饱和度(S):表示颜色的纯度,取值范围是0 - 1。饱和度越高,颜色越鲜艳纯粹;饱和度为0时,颜色变为灰色(只有明度信息)。
  3. 明度(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, 可以被定义为任意形式。

相关推荐
泰勒今天不想展开3 小时前
jvm接入prometheus监控
jvm·windows·prometheus
易我数据恢复大师5 小时前
怎么设置电脑密码?Windows和Mac设置密码的方法
windows·macos·电脑
m0_748256566 小时前
Windows 11 Web 项目常见问题解决方案
前端·windows
ladymorgana7 小时前
【运维笔记】windows 11 中提示:无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。
运维·windows·笔记
yngsqq9 小时前
一键打断线(根据相交点打断)——CAD c# 二次开发
windows·microsoft·c#
咸鱼桨11 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派
滚雪球~11 小时前
如何使用Windows快捷键在多显示器间移动窗口
windows·计算机外设
大猫和小黄13 小时前
Windows、CentOS环境下搭建自己的版本管理资料库:GitBlit
linux·服务器·windows·git
小奥超人18 小时前
PDF无法打印!怎么办?
windows·经验分享·pdf·办公技巧·pdf加密解密