1.亮度、饱和度、对比度
色相:色相通俗的说就是“颜色”,色相的改变就是颜色的改变
亮度:图像亮度通俗理解便是图像的明暗程度,数字图像 f(x,y) = i(x,y) r(x, y) ,如果灰度值在[0,255]之间,则 f 值越接近0亮度越低,f 值越接近255亮度越高
饱和度:指的是图像颜色种类的多少。饱和度对于具有鲜艳颜色,颜色丰富的图像影响很大,而对于暗淡的颜色或几乎是中性颜色影响较小
对比度:一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,即指一幅图像灰度反差的大小
色相
ColorMatrix huematrix=new ColorMatrix();
huematrix.setRotate(0,hue);//参数0表示R,对红色进行设置数值
//hue为设置数值,这里用了相同的三个值
huematrix.setRotate(1,hue);//参数1表示G,对绿色进行设置数值
huematrix.setRotate(2, hue);//参数2表示B,对蓝色进行设置数值
饱和度
//创建颜色矩阵,设置饱和度
ColorMatrix saturationmatrix=new ColorMatrix();
saturationmatrix.setSaturation(saturation);
亮度
ColorMatrix lummatrix=new ColorMatrix();
//参数:rscale gscale bscale (设置了三个相同的数值)透明度(完全显示)
lummatrix.setScale(lum,lum,lum,1);
色彩三元素综合作用
//要想将色彩三元素综合运用到一张图片上还需要创建一个ColorMatrix矩阵,通过颜色矩阵的postConcat属性将三元素进行综合
ColorMatrix imagematrix=new ColorMatrix();
imagematrix.postConcat(huematrix);
imagematrix.postConcat(saturationmatrix);
imagematrix.postConcat(lummatrix);
2.RGB空间图像亮度、对比度调节
对于数字图像变换,设原像素灰度为 f(i,j),转化后的像素灰度为 g(i,j),则常用的线性变换是 g(i,j)= af(i,j) + b, 其中系数 a 影响图像的对比度,系数 b 影响图像的亮度,具体如下:
(1) a=1时是原图;
(2) a>1时对比度增强,图像看起来更加清晰;
(3) a<1时对比度减弱,图像看起来变暗;
(4) b影响图像的亮度,随着增加b (b>0)和减小b (b>0),图像整体的灰度值上移或者下移, 也就是图像整体变亮或者变暗, 不会改变图像的对比度
3.HSL空间图像亮度、饱和度调节
HSL空间:代表色相,饱和度,明度三个通道的颜色。 H: Hue 色相、 S:Saturation 饱和度、 L :Lightness 明度。例如:归一化后二维数字图像(0, 0)像素的值为(0.2,0.3,0.4),则代表H=0.2,S=0.3,L=0.4
参考:https://blog.csdn.net/feilong_csdn/article/details/82755816
网友评论