看《数字图像处理》那本书看了很久也没有明白HSI和RGB之间转换原因,于是上网查了一些资料,终于有了一些小小的理解,标记一下。不足或者错误之处,还希望各位大牛指正,不吝赐教。(refer:http://imageprocessingplace.com/root_files_V3/tutorials.htm)
1.为什么要引入HSI彩色模型?
简单的来说,RGB模型可以很好的适应颜色的事实,但是并不能很好的适应人解释的颜色。当人观察一个彩色物体时候,我们用色调(Hue),饱和度(Saturation )和强度(Intensity)来描述。其中色调是指一种纯色的颜色属性,饱和度是指纯色被白光稀释的程度的度量,亮度是一个主观因子,实际上是不可度量的。总体来说,RGB模型更适合图像颜色生成,而HSI模型适合图像描述
2.从RGB转化到HSI
RGB模式的分量是一个正方体上的单元定义的,而HSI模型是定义在如下的一个颜色三角形中。一个像素点P的色调H,是图中所示向量相对于red轴的角度,因此规定红色的色调H = 0。 ,H = 60。 是黄色 。而对比度则是P离那个三角形的中点的向量长度。
融合了颜色,对比度,亮度之后,图像应该展现出如上图b中的结构,并且该结构的表面代表了一种纯对比度的颜色。
为了利用RGB分量计算我们定义如下的变量(在此处也就是RGB做归一化)。
r = R/(R+G+B); g = G/(R+G+B); b = B/(R+G+B);
此外定义HSI模型中I分量为如下定义:I = (R+G+B)/3;并且有如下结论和定义:
(1)w点的坐标为(1/3,1/3,1/3),从(b)图可以看出;
(2)任意一个像素点的坐标为(r,g,b),因为下面的图形都经过归一化处理;
(3)从原点到W的向量定义为w,同理从远点到PR 的的向量记作PR,到P的向量记作P;
(4)线段PiQi(其中i=R,G,B)相交于w点;
(5)令r0 = R/I,g0 = G/I,b0 = B/I;对于线段PRQR来说go = bo,同理,其他情况也一样。
(6)对于i = R,G,B来说|WQi|/|PQi| = 1/3;(三等分点,不知道的查查初中数学)
(7)定义扇形RG是区域WPRPG,同理GB,BR.
容易看出向量(PR –W )和向量(P-W)之间的夹角就是色调值H
现在主要的问题就是如何用R,G,B来表示上述的表达式,注意到
,将r,g,b替换回去可以得到如下程式
色彩的对比度是色彩被白光冲淡的量度,因此S = |WP|/|WP'|,其中P' 是延长WP与三角形的交点,令T为W在rg平面上的投影,Q是P在WT上的投影
,又因为|WT| = 1/3,|QT| = b,
第一次写博客,对live writer软件不是很熟悉,排版很乱,不过希望可以帮助到一些朋友。