通过RGB或YUV改变图像的色度和饱和度

自己曾经尝试过BGR先转成HSV,再改变S分量,但是效果非常差,这里是我是在别人论文上查到的,给大家参考一下

 

1. 通过YUV改变图像的饱和度,这里的r的范围一般为(0 , 5) , 如果为1 表示不改变图像数据    

公式如下:

Y = Y;

U = U*r;

V = V*r;

注意:这里的 U~(-128- 128), V~(-128-128)  如果你的UV的范围是0-255 或者 16-240 ,那么就需要先减去128.

 

效果图:

通过RGB或YUV改变图像的色度和饱和度_第1张图片

 

 

2. 通过RGB改变图像的饱和度 r的范围一般是(-1,+5)

公式:

B = B + (B-(R+G)/2)*r;
G = G + (G-(R+B)/2)*r;
R = R + (R-(B+G)/2)*r;

效果图:

通过RGB或YUV改变图像的色度和饱和度_第2张图片

 

 

3. 通过yuv 改变图像的色相(Cb即为U,Cr即为V)  UV∈(-128,128)

通过RGB或YUV改变图像的色度和饱和度_第3张图片

 

 

 

你可能感兴趣的:(opencv)