本节为opencv数字图像处理(13):彩色图像处理基础:彩色模型与伪彩色图像处理,主要包括:三种彩色模型(RGB、CMY/CMYK、HSI)及其互相转换的方法、伪彩色图像的两种处理方法(灰度分层、灰度到彩色的转换)。
数字图像处理中,最通用的面向硬件的彩色模型是RGB模型,用于彩色监视器和一大类彩色视频摄像机;CMY(青、粉红、黄)模型和CMYK(青、粉红、黄、黑)模型是针对彩色打印机的;HSI(色调、饱和度、亮度)模型,更符合人描述和解释颜色的方式,并且它解除了图像中颜色和灰度信息的联系。
该颜色模型如下图所示(归一化之后),RGB原色值位于三个角上,二次色青色、深红色和黄色位于另外三个角。
RGB彩色模型中表示的图像由三个分量图像组成,每种原色一幅分量图像(8比特),送入RGB监视器后,三幅图像在屏幕上混合生成一幅合成的彩色图像(24比特)。RGB空间中,用于表示每个像素的比特数称为像素深度。这就是全彩色图像,颜色总数: ( 2 8 ) 3 = 16777216 (2^8)^3=16777216 (28)3=16777216。
青色、深红色和黄色是光的二次色,即颜料原色,其中青色不反射红色,纯深红色不反射绿色,纯黄色不反射蓝色,这样从RGB到CMY的一个转换如下:
等量的颜料原色可以生成黑色,但黑色不纯,为了生成真正的黑色,加入第四种原色黑色,即CMYK彩色模型。
当人观察一个彩色物体时,我们用其色调、饱和度和亮度来描述它。色调是描述一种纯色(纯黄色、纯橙色或纯红色)的颜色属性,饱和度是纯色被白光稀释的程度的度量,亮度是一个主观的描述子(实际上不可度量),它体现了无色的强度概念,是描述彩色感觉的关键因子之一(强度/灰度级hi单色图像最有用的描述子)。
而HSI(色调、饱和度和强度)彩色模型,可以在彩色图像中从携带的彩色信息(色调和饱和度)中消去强度分量的影响,因此适合开发基于彩色描述的图像处理算法。
HSI彩色模型平面可以以六边形、三角形甚至圆形出现,但是不变的是,平面上任一彩色点与红轴的夹角给出了色调,该向量的长度为饱和度,如下所示:
RGB到HSI的彩色转换
给定一幅RGB彩色格式的图像,每个RGB像素的H分量根据下式计算:
其中:
饱和度分量由下式给出:
强度分量由下式给出:
HSI到RGB的彩色转换
需要分情况讨论。
当H位于RG扇区( 0 ° ≤ H < 120 ° 0°\leq H <120° 0°≤H<120°):公式如下:
当H位于GB扇区( 120 ° ≤ H < 240 ° 120°\leq H <240° 120°≤H<240°),首先 H = H − 120 ° H=H-120° H=H−120°,然后:
当H位于BR扇区( 240 ° ≤ H < 360 ° 240°\leq H <360° 240°≤H<360°):首先 H = H − 240 ° H=H-240° H=H−240°,然后:
令 [ 0 , L − 1 ] [0,L-1] [0,L−1]表示灰度级,令 l 0 l_0 l0代表黑色[ f ( x , y ) = 0 f(x,y)=0 f(x,y)=0],令 l L − 1 l_{L-1} lL−1代表白色[ f ( x , y ) = L − 1 f(x,y)=L-1 f(x,y)=L−1]。假定垂直于灰度轴的 P P P个平面定义为灰度级 l 1 , l 2 , . . . k p l_1,l_2,...k_p l1,l2,...kp,然后假定 0 < P < L − 1 0 0<P<L−1
其中 c k c_k ck是第 k k k个灰度区间 V k V_k Vk有关的颜色, V k V_k Vk由位于 l = k − 1 l=k-1 l=k−1和 l = k l=k l=k处的分割平面定义。
简单来说,灰度分层就是用一个平面,将灰度函数分为几部分,并且给每一部分分别赋予一个新的颜色值。
这其实是灰度分层方法的一个特殊情况,相比于灰度分层,它更能拓宽伪彩色增强结果的范围。一种方法如下图所示:
基本概念是对任何输入像素的灰度执行3个独立的变换,生成一幅合成图像,合成图像的彩色内容由变换函数的特性调制。
此外将多幅单色图像组合为一幅彩色合成图像的方法也比较常用(尤其是多光谱),不同的传感器在不同的谱段产生的独立的单色图像,然后经过一系列变换选择三幅用于显示的图像。
欢迎扫描二维码关注微信公众号 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]