自己曾经尝试过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.
效果图:
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;
效果图:
3. 通过yuv 改变图像的色相(Cb即为U,Cr即为V) UV∈(-128,128)
4. 改变图像的亮度、对比度
5.锐化
6. 降噪
6.1 NLM降噪 https://blog.csdn.net/jaych/article/details/54562593
对应opencv函数为
void fastNlMeansDenoising(InputArray src, OutputArray dst, float h=3, int templateWindowSize=7, int searchWindowSize=21 )
7 . 高斯滤波 一维和二维
参考论文:《在实时数字图像处理中图像增强常用算法的改进方案》 --易飞