当前位置: 首页 > article >正文

图像处理-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(蓝)

image-20241223164640062

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)3116a=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数称为像素深度。

image-20241223165514030

CMY & CMYK(cyan, magenta, yellow/and black)

颜料的原色:青色、深红色、黄色(用于彩色打印机),有时多加黑色。

  • 白光照射涂有青色颜料的表面时,表面不会反射红光。
  • 青色从反射的白光中减去红光、白光又等量的红绿蓝光组成。

HSI(hue, saturation, intensity)

观察彩色物体时,我们会用色调(hue)、饱和度(saturation)、亮度(intensity)来描述物体。

image-20241223170706349

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.5870.2740.5230.1140.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.9560.2721.1060.6210.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.48137.797112.000128.55374.20393.78624.966112.00018.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 BGif B>G=cos1{[(RG)2+(RB)(GB)]2121[(RG)+(RB)]}=1R+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(1S)=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=H120°=I(1S)=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=H240°=I(1S)=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]=[xfyf]

幅度(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=[(xf)2+(yf)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)=tan1(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=xRr+xGg+xBb,v=yRr+yGg+yBb
定义数量(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=uu=uTu= xR 2+ xG 2+ xB 2gyy=vv=vTv= yR 2+ yG 2+ yB 2gxy=uv=uTv=xRyR+xGyG+xByB
角度是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)=21tan1(gxxgyy2gxy)Fθ(x,y)=21{[gxx+gyy+(gxxgyy)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)=zm=[(zm)T(zm)]1/2=[(zRmR)2+(zGmG)2+(zBmB)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)=[(zm)TC1(zm)]1/2
C ≥ 0 , ∣ C ∣ ≠ 0 C\ge 0,|C|\neq0 C0,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)=[(zm)TC1(zm)]1/2
C ≥ 0 , ∣ C ∣ ≠ 0 C\ge 0,|C|\neq0 C0,C=0, 可以被定义为任意形式。


http://www.kler.cn/a/451941.html

相关文章:

  • 细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV
  • CSS中的calc函数使用
  • 多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
  • C语言结构体位定义(位段)的实际作用深入分析
  • 论文DiffBP: generative diffusion of 3D molecules for target protein binding
  • 【Linux】Linux开发利器:make与Makefile自动化构建详解
  • 修改输出资源的名称和路径、自动清空上次打包资源
  • 【C 语言】内存节省机制
  • 深入理解.NET内存回收机制
  • 【论文复现】进行不同视角图像的拼接
  • python如何求欧几里得
  • VMware虚拟机中CentOS系统/dev/mapper/centos-home分区扩容指南
  • 稳定的碰一碰发视频、碰一碰矩阵源码技术开发,支持OEM
  • 2024年12月25日Github流行趋势
  • 【卷积神经网络】常用评价指标总结
  • 使用 C# 代码计算数学表达式
  • 代码随想录算法日记day16 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
  • xilinx 芯片使用vivado导出pindelay文件——FPGA学习笔记24
  • 【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
  • 《系统动力学模型构建与Vensim仿真》01系统动力学概述与行为模式
  • 基于Spring Boot的高校请假管理系统
  • VS2022 无法使用GitHub账户登录/无法使用copilot 解决方案
  • 设计模式之外观模式:从电脑组装到系统架构的简化之道
  • 软考:系统架构设计师教材笔记(持续更新中)
  • 记录一个SVR学习
  • 【全开源】Java多语言tiktok跨境商城TikTok内嵌商城送搭建教程