网上有很多资料,在这里讲讲自己的理解。
一、概念。
a.rgb
假设一副图像的色彩模型是rgb,那么每个像素占24bit(不考虑压缩),r,g,b各占8bit,值从0~255。全0是黑,全255是白。
当r,g,b值相等时,是一条灰色渐变带,如(50,50,50) ,(127,127,127)等等。
每个像素点从视觉来看有其对应的亮度值,r,g,b等量的相加或减少,可以改变这个点的亮度,而不改变色相,这便是调节亮度的原理。
b.对比度
对比度反应了图片上亮区域和暗区域的层次感。而反应到图像编辑上,调整对比度就是在保证平均亮度不变的情况下,扩大或缩小亮的点和暗的点之间的差异。
二、算法
给个photoshop调节对比度的公式,
nRGB = RGB + (RGB - Threshold) * Contrast / 255
其中nRGB代表了r,g,b各自重新计算后的值。Threshold是平均亮度,一般我们不会特意算图像的平均亮度,一来耗时,二来大部分图片是在100~150之间。我们取127,与实际相近。Contrast取值范围为[-255,255]。
所以当Contrast为0时,rgb值不变,表示当前的一个对比度。
为-255时,rgb都为127,亮度都一样,没有差别,呈灰色。
为255时,在Threshold之上的像素点会变得更亮,反之变得更暗。