【数字图像处理一】RGB模型转化为HSI模型的几何方法推导

本文基于《数字图像处理》(冈萨雷斯第三版)的原网站的证明并添加了一点自己的理解,如果想要获取作者的证明原始文件请访问这里

RGB转换到HSI的几何方法公式

假设RGB模型的R,G,B值的取值范围为[0,1]
HSI模型的三个分量:强度(I),色调(H),饱和度(S)的计算公式如下:

I=13(R+G+B)

S=13[min(R,G,B)](R+G+B)

H={θ,BG360θ,B>G 

式中:
θ=arccos{12[(RG)+(RB)][(RG)2+(RB)(GB)]12}

证明

HSI模型采用三棱锥还是圆锥或者圆柱都没有影响,因为它们之间可以直接相互映射,所以三者是等价的。这里用三角形来证明。
假设RGB值已经归一化。归一化方法为:

r=RR+G+B1

g=GR+G+B2

b=BR+G+B3

即求出各个基色的强度所占的比例。注意到r,g,b实际上代表了各个三原色的强度占总体的比例,所以显然满足如下条件:
r+g+b=1

【数字图像处理一】RGB模型转化为HSI模型的几何方法推导
【数字图像处理一】RGB模型转化为HSI模型的几何方法推导
另外仔细观察上图中的正三棱锥上的面PBPGPR,该平面上的任意一点都代表了RGB值满足比例条件的色点。比如该平面上的点(0.5,0.2,0.3)代表的所R:G:B=0.5:0.2:0.3的点。
另外给出几条假设和显然的前提条件:
(1)点w的坐标是(13,13,13),因为正三角形。
(2)设三角形PBPGPR上点的坐标为(r,g,b)
(3)设连接坐标原点和W的向量为&w&,同样的有p,pR,pB,pR
(4)图中的直线PRQR,PBQB,PGQG两两相交于W。
(5)设r0=RI,g0=GI,b0=BI。从图Fig.4.46(a)中可以看出对于直线PRQR上的任意一点都有g0=b0,对于直线PBQB,PGQG也有类似的结论。
(6)对于三角形PRQRPG中的任意一点都有g0>b0,对于其他5个区域也有类似的结论。
(7)|WQR||PRQR|=13|WQG||PGQG|=13|WQB||PBQB|=13,等边三角形的性质。
(8)RG扇区是三角形WPRPG所围成的区域。对于GB和BR扇区有类似结论。

I的证明

按照定义,I=13(R+G+B),使其取值范围也在[0,1],没有什么好说的。

H的证明

默认使用待求色点和r轴的夹角作为H。对于点p,显然有下式成立:

(pw)(pRw)=pwpRwcosH4

将p点坐标(r,g,b)带入有:
pw=[(r13)2+(g13)2]+(b13)2]1/25

将(1),(2),(3)带入(5)式可得:
pw=[9(R2+G2+B2)3(R+G+B)29(R+G+B)2]1/26

pR(1,0,0)W(13,13,13)带入,有:
pRw=(23)1/27

通过向量的坐标运算可以得到:
(1)(pw)(pRw)=23(r13)13(g13)13(b13)(2)=2RGB3(R+G+B)8

由式子(4),(6),(7),(8)可得:
H=arccos{12[(RG)+(RB)][(RG)2+(RB)(GB)]1/2}

S的证明

计算方法:以图Fig.4.46(b)中的p点为例,设W向r轴和g轴所在的平面投影,交于点T,P和P’分别向直线WT投影,设分别交于点Q和T。计算p点饱和度的方法是S=|WP|WP
在计算饱和度时,对于三角形来说,计算|WP|来作为P点的饱和度是没有意义的并且是错误的,因为在我们采用的HSI模型中,点的坐标是(r,g,b)而不是RGB模型中的(R,G,B),在这种情况下,其实向量本身也没有意义。我觉得可以这样理解,在P点所在的强度和色调不变的情况下,P’点是所能取到的最大的饱和度,因为白光强度为0。从W到P’的过程是饱和度不断增加的过程,而且是线性变化的。这样就可以用|WP||WP|来表示了。注意到,如果是圆柱形的HSI模型,假设截面的半径是1的话,即|WP|=1,这样只需计算|WP|即可,个人猜测如果将三角形的HSI转换到圆柱形的HSI,直接计算半径(将三角形HSI到圆柱HSI的转换公式作用于三角形的P的半径)就是上面给出的S的表达式。这里不再验证。
下面是计算过程,假设P点(r,g,b)中,b小于r,g,这样可以得到下式:

(3)S=|WP||WP|(4)=|WQ||WT|(5)=|WT||QT||WT|(6)=13b

推广到g,r最小的情况可得:

S=13(R+G+B)[min(R,G,B)]

证毕。

参考资料

《数字图像处理》(冈萨雷斯)第三版
初入计算机,请大家多多指教嘛,共同学习~~~持续更新中……