彩色图像基础

颜色的特性可以表达成亮度、色调和饱和度。

  • 亮度:即强度,如灰度值

  • 色调:混合在光波中的主导光波属性,即被观察者感知的主导色。

  • 饱和度:相对的纯度,或与一种色调混合的白光量。比如浅红色(红色+白色)是不饱和的,白色越多,越不饱和。

色度=色调+饱和度,颜色=亮度+色度

彩色图像模型

常见的彩色图像模型有:

  1. RGB(红绿蓝):一般用于彩色显示器和彩色摄影机。

  2. CMY(青、深红、黄)和CMYK(青、深红、黄、黑):一般用于彩色打印。

  3. HSI(色调、饱和度、亮度):描述和解释颜色

RGB模型与HSI模型之间的转换

从RGB到HSI

此处HSI的计算假设RGB已被归一化到[0,1],且θ是相对于HSI空间的红色轴测量,得到的HSI结果也在区间[0,1]中。

H色调分量计算:

H={θif BG360θif B>GH=\begin{cases} \theta & if\ B\leq G\\ 360-\theta & if\ B >G \end{cases}

θ=cos112[(RG)+(R+B)][(RG)2+(RB)(GB)]1/2\theta=cos^{-1}\frac{\frac{1} {2}[(R-G)+(R+B)]} {[(R-G)^2+(R-B)(G-B)]^{1/2} }

S饱和度分量计算:

S=13R+G+B[min(R,G,B)]S=1-\frac{3} {R+G+B}[\min(R,G,B)]

I亮度分量计算:

I=13(R+G+B)I=\frac 13(R+G+B)

从HSI到RGB

值区间同上[0,1]

先计算H色调值,再根据H的范围使用不同的公式。

把H值从[0,1]转换到[0,360]:

H=H×360°H=H\times 360°

根据H的范围使用不同计算公式:

H[0,120)H\in[0,120) ,即RG扇区:

{B=I(1S)R=I[1+ScosHcos(60°H)]G=3I(R+B)\left\{ \begin{matrix} B&=&I(1-S) \\ R&=&I[1+\frac{S\cos H} {\cos(60°-H)}]\\ G&=&3I-(R+B) \end{matrix} \right.

H[120,240)H\in[120,240) ,即GB扇区:

{H=H120°B=I(1S)R=I[1+ScosHcos(60°H)]G=3I(R+B)\left\{ \begin{matrix} H&=&H-120°\\ B&=&I(1-S) \\ R&=&I[1+\frac{S\cos H} {\cos(60°-H)}]\\ G&=&3I-(R+B) \end{matrix} \right.

H[240,360]H\in[240,360] ,即GB扇区:

{H=H240°B=I(1S)R=I[1+ScosHcos(60°H)]G=3I(R+B)\left\{ \begin{matrix} H&=&H-240°\\ B&=&I(1-S) \\ R&=&I[1+\frac{S\cos H} {\cos(60°-H)}]\\ G&=&3I-(R+B) \end{matrix} \right.