图像处理之彩色图像处理简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_35732969/article/details/83141574

彩色图像处理有两个主要邻域:一个是全彩色处理,通常要求图像用全彩色传感器获取;另一个是伪彩色处理,它是对一种灰度会灰度范围赋予一种颜色。

数字图像处理中,常用发模型是RGB(红、绿、蓝)模型和HSI(色调、饱和度、亮度)模型,其中HSI模型可以解除图像中颜色和灰度信息的联系,使其更适合许多灰度处理技术。

RGB彩色模型(红、绿、蓝)

RGB彩色模型基于笛卡尔坐标系,并假设所有颜色值都归一化了,即R、G、B的所有值都假定在范围[0,1]内。彩色子空间是如下图的立方体:

在RGB彩色模型中,用于表示每个像素的比特数称为像素深度。如果一幅RGB图像,其中每一幅红、绿、蓝图像都是一幅8比特图像,则每个像素有24比特的深度。全彩色图像通常用来表示一幅24比特的GRB彩色图像。

HSI彩色模型(色调、饱和度、亮度)

色调是描述一种纯色(纯黄色,纯橙色,纯红色)的颜色属性;饱和度是一种纯色被白光稀释的程度的度量;亮度是主观的描述子,实际上是不可度量的,体现了无色强度概念。而强度(灰度级)是单色图像最有用的描述子,是可以度量的。HSI彩色模型可以从彩色信息中消去强度分量的影响。

考虑前面提到的彩色立方图,强度(灰度级)是沿连接白色定点(1,1,1)和黑色顶点(0,0,0)的直线分布的,要确定任何彩色点的强度分量,可以通过一个垂直于强度轴并包含该彩色点的平面,该平面与强度轴的交点就给出了[0,1]内的强度值。并且,一种颜色的饱和度(纯度)以强度轴的距离为函数儿增大。强度轴的上的点的饱和度为0,沿着强度轴的所有点都是灰度。

上图中,显示了由3个点(黑、白和青)定义的一个平面,可以知道包含在由强度轴和立方体边界定义的平面段内的所有点都有相同的色调(在这种情况下是青色),因为有如下结论:所有颜色都是由位于这些颜色定义的三角形中的3种颜色产生的。如果这些点中的两点是黑点和白点,第三点是彩色点,那么三角形上的所有点都有相同的色调,因为黑白分量不能改色调。我们可以得出这样的结论:形成SHI空间所要求的色调、饱和度和强度值可由RGB彩色立方体得到。

HSI空间由一个强度轴和位于与该强度轴垂直的平面内的彩色点的轨迹表示。当平面沿强度轴上下移动时,由每个平面与立方体表面构成的横截面定义的边界不是三角形就是六边形,如下图:

扫描二维码关注公众号,回复: 4941212 查看本文章

通常,与红轴的0°角指定为0色调,从这开始色调逆时针增长;饱和度(距垂直轴的距离)是从原点到该点的向量长度。HSI彩色模型的重要分量是垂直强度轴、到一个彩色点的向量长度和该向量与红轴的夹角。

HSI和RGB之间的转换

从RGB到HSI的彩色转换:

每个RGB像素的色调分量H为:

H = \begin{cases} \theta, & B\leqslant G \\ 360-\theta, & B>G \end{cases}

其中,

\theta = \arccos \left \{ \frac{\frac{1}{2}[(R-G)+(R-B)]}{[(R-G)^{2}+(R-B)(G-B)]^{1/2}} \right \}

饱和度分量S为:

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

强度分量I为:

I = \frac{1}{3}(R+G+B)

假定RGB值已归一化到区间[0,1]内,且角度\theta根据HSI空间的红轴来度量,则可以把求到的色调H除以360°归一化到[0,1]内,而其他两个值已经在[0,1]内。

从HSI到RGB的彩色转换:

假定HSI值在[0,1]内,把H乘以360°,使色调回到原来的[0°,360°]内。

当H的值在RG扇区(0 ^{\circ} \leqslant H <120 ^{\circ}),RGB分量为:

B = I(1-S)

R = I\left [ 1+\frac{S\cos H}{\cos(60^{\circ}-H)} \right ]

G = 3I-(R+B)

当H在GB扇区(120 ^{\circ} \leqslant H <240 ^{\circ}),首先从H中减去120°,即:

H = H-120^{\circ}

RGB分量为:

R = I(1-S)

G = I\left [ 1+\frac{S\cos H}{\cos(60^{\circ}-H)} \right ]

B = 3I-(R+G)

当H在BR扇区(240 ^{\circ} \leqslant H <360 ^{\circ}),首先从H中减去240°,即:

H = H-240^{\circ}

RGB分量为:

G = I(1-S)

B = I\left [ 1+\frac{S\cos H}{\cos(60^{\circ}-H)} \right ]

R = 3I-(G+B)

伪彩色图像处理

伪彩色图像处理是指基于一种指定的规则对灰度值赋以颜色的处理。

灰度分层:

对上图中平面的每一侧赋以不同的颜色,平面上面的灰度级的像素将编码成一种彩色,平面下面的像素编码成另一种颜色,平面上的像素赋以两种色彩之一。

确切说来,令[0,L-1]表示灰度级,令l_{0}代表黑色[f(x,y) = 0],并令l_{L-1}代表白色[f(x,y) = L-1]。假定垂直于灰度轴的P个平面定义为灰度级l_{1},l_{2},...,l_{p}0<P<L-1,P个平面将灰度级分为P+1个区间V_{1},V_{2},...,V_{P+1}。灰度级到彩色赋值按如下进行:

f(x,y) = c_{k},f(x,y)\in V_{k}

其中,c_{k}是与第k个灰度区间V_{k}有关的颜色,V_{k}由位于l = k-1和l=k处的分割平面定义。

灰度到彩色的变换:对任何输入像素的灰度执行3个独立的变换,然后将3个变换结果分别送入红绿蓝通道,产生一幅合成图像。如下图:

全彩色图像处理简介

全彩色图像处理方法分为两种。一种是分别处理每一幅分量图像,然后把处理结果合成彩色图像;另一种是直接处理彩色图像。RGB彩色空间中的一个任意向量:

c =\begin{bmatrix} c_{R}\\ c_{G}\\ c_{B} \end{bmatrix} = \begin{bmatrix} R\\ G\\ B \end{bmatrix}

彩色分量是坐标(x,y)的函数:

c(x,y) =\begin{bmatrix} c_{R}(x,y)\\ c_{G}(x,y)\\ c_{B}(x,y) \end{bmatrix} = \begin{bmatrix} R(x,y)\\ G(x,y)\\ B(x,y) \end{bmatrix}

对于大小为M*N的图像,有M*N个这样的向量c(x,y),其中,x=0,1,2,...,M-1;y=0,1,2,...,N-1。

我们可以用标准的灰度图像处理方法分别处理彩色图像的每一个分量,但这种处理结果并不总等同于彩色空间中的直接处理,这时就要采取新的表达方法。

为了使每种彩色分量处理和基于向量 处理等同,必须满足两个条件:1、处理必须对向量和标量都可用;2、对向量每一分量的操作对于其他分量必须是独立的。如平均操作。

猜你喜欢

转载自blog.csdn.net/weixin_35732969/article/details/83141574