对比度 的含义就是,一幅画,保持平均亮度不变。使亮的更亮,暗的更暗(对比度增加),或 使亮的更暗,暗的更亮(对比度减少)。
所以算法就是:
1、计算平均亮度
2、每点与平均亮度比较,得到差值。
3、新的亮度 = 此点的亮度 + 系数 * 此点的亮度 * 差值
4、根据新的亮度,计算出新的rgb(保持色调不变)
亮度 Y = 0.299 * Red + 0.587 * Green + 0.114 * Blue
=========================================================================
色饱和度可以参考:
HSL和HSV色彩空间(http://zh.wikipedia.org/wiki/HSL_%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4)
从 RGB 到 HSL 或 HSV 的转换
所以算法就是:
1、计算平均亮度
2、每点与平均亮度比较,得到差值。
3、新的亮度 = 此点的亮度 + 系数 * 此点的亮度 * 差值
4、根据新的亮度,计算出新的rgb(保持色调不变)
亮度 Y = 0.299 * Red + 0.587 * Green + 0.114 * Blue
=========================================================================
色饱和度可以参考:
HSL和HSV色彩空间(http://zh.wikipedia.org/wiki/HSL_%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4)
从 RGB 到 HSL 或 HSV 的转换
设 (r , g , b ) 分别是一个颜色的红、绿和蓝坐标,它们的值是在 0 到 1 之间的实数。设 max 等价于 r , g 和 b 中的最大者。设 min 等于这些值中的最小者。要找到在 HSL 空间中的 (h , s , l ) 值,这里的 h ∈ [0, 360)是角度的色相角,而 s , l ∈ [0,1] 是饱和度和亮度,计算为: