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

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

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

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

I = 1 3 ( R + G + B )

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

H = { θ , B G 360 θ , B > G  

式中:
θ = a r c c o s { 1 2 [ ( R G ) + ( R B ) ] [ ( R G ) 2 + ( R B ) ( G B ) ] 1 2 }

证明

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

r = R R + G + B 1

g = G R + G + B 2

b = B R + G + B 3

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

这里写图片描述
这里写图片描述
另外仔细观察上图中的正三棱锥上的面 P B P G P R ,该平面上的任意一点都代表了 R G B 值满足比例条件的色点。比如该平面上的点 ( 0.5 , 0.2 , 0.3 ) 代表的所 R : G : B = 0.5 : 0.2 : 0.3 的点。
另外给出几条假设和显然的前提条件:
(1)点 w 的坐标是 ( 1 3 , 1 3 , 1 3 ) ,因为正三角形。
(2)设三角形 P B P G P R 上点的坐标为 ( r , g , b )
(3)设连接坐标原点和W的向量为&w&,同样的有 p , p R , p B , p R
(4)图中的直线 P R Q R , P B Q B , P G Q G 两两相交于W。
(5)设 r 0 = R I , g 0 = G I , b 0 = B I 。从图Fig.4.46(a)中可以看出对于直线 P R Q R 上的任意一点都有 g 0 = b 0 ,对于直线 P B Q B , P G Q G 也有类似的结论。
(6)对于三角形 P R Q R P G 中的任意一点都有 g 0 > b 0 ,对于其他5个区域也有类似的结论。
(7) | W Q R | | P R Q R | = 1 3 | W Q G | | P G Q G | = 1 3 | W Q B | | P B Q B | = 1 3 ,等边三角形的性质。
(8)RG扇区是三角形 W P R P G 所围成的区域。对于GB和BR扇区有类似结论。

I 的证明

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

H 的证明

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

( p w ) ( p R w ) = p w p R w c o s H 4

将p点坐标 ( r , g , b ) 带入有:
p w = [ ( r 1 3 ) 2 + ( g 1 3 ) 2 ] + ( b 1 3 ) 2 ] 1 / 2 5

将(1),(2),(3)带入(5)式可得:
p w = [ 9 ( R 2 + G 2 + B 2 ) 3 ( R + G + B ) 2 9 ( R + G + B ) 2 ] 1 / 2 6

p R ( 1 , 0 , 0 ) W ( 1 3 , 1 3 , 1 3 ) 带入,有:
p R w = ( 2 3 ) 1 / 2 7

通过向量的坐标运算可以得到:
(1) ( p w ) ( p R w ) = 2 3 ( r 1 3 ) 1 3 ( g 1 3 ) 1 3 ( b 1 3 ) (2) = 2 R G B 3 ( R + G + B ) 8

由式子(4),(6),(7),(8)可得:
H = a r c c o s { 1 2 [ ( R G ) + ( R B ) ] [ ( R G ) 2 + ( R B ) ( G B ) ] 1 / 2 }

S 的证明

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

(3) S = | W P | | W P | (4) = | W Q | | W T | (5) = | W T | | Q T | | W T | (6) = 1 3 b

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

S = 1 3 ( R + G + B ) [ m i n ( R , G , B ) ]

证毕。

参考资料

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

猜你喜欢

转载自blog.csdn.net/gongyi_yf/article/details/79671613
今日推荐