RGB颜色模型归一化

来源:互联网 发布:js判断ios android 编辑:程序博客网 时间:2024/05/16 09:09

RGB颜色模型在图像处理中是比较常用的格式,但其有个缺点就是容易受到光照变化或阴影的影响。因此,在进行图像处理过程中,通常会对RGB进行归一化,以便消除其对部分光照的影响。

 

为什么归一化RGB能够消除部分光照变化的影响?

 

举个例子:

归一化前:

T1时刻的像素A的像素值为:RGB(30, 60, 90)

T2时刻的像素A的像素值为:RGB(60, 120, 180)  (受光照影响,R/G/B三个颜色通道的value产生了变化)

 

归一化公式:

r = R / (R+G+B) ;

g = B / (R+G+B) ;

b = 1 - r - g ;

归一化后:

T1时刻的像素A的像素值为:rgb(1/6, 1/3, 2/3)

T2时刻的像素A的像素值为:rgb(1/6, 1/3, 2/3)

T1和T2时刻的归一化RGB的值没有发生变化。

 

可以看到,归一化RGB的好处在于,当某个像素受光照或阴影的影响而产生颜色通道R、G、B上的scale变化的话,则通过归一化操作,可以消除这样的影响。

 

说明:

1)归一化RGB对于灰色(R=G=B)或黑色像素存在问题;

原因:当某个像素的R=G=B时,如果由于光照变化影响其R/G/B三个通道值分别发生了变化,但是变化后值仍然为:R' = G' = B',那么对它们的归一化是不起作用的(由归一化公式可知)。 

2)归一化RGB并不能去除所有类型的光照或阴影产生的影响。

原因:由归一化RGB的公式可知,其只对R/G/B三个通道值发生scale变化(即 scale = R'/R = G'/G = B'/B)的情况时具有光照不变性。


【转载】http://www.icvpr.com/rgb-normalization/

0 0