改变图像的曲线是一个非常有用的功能,曲线的功能可以实现如下效果:
1. 改变对比度,通过将曲线黑端拉低,白端拉高即可;
2.改变亮度, 通过将曲线拉高,可以增加图像的亮度;
2.改变色相,比如,仅仅提升红色像素的亮度,可以使图像看起来偏红。
但是如何实现呢??
由于曲线是平滑的,我们可以用一个二次函数来实现:
公式为 : y = x+k - k*( (x-a2)/(a3-a2) )^2 ;
其中 a2 为a1 与 a2 的中心点; -a2<K<255-a2; K为负值时, 使像素变暗, 反之使其变亮
例1: 增加亮度
K=20, a1设为0 , a3 设为255, 那么a2 就为127 了
例2: 增加对比度
k = -20 , a1 = 0 a3= 128 0<=x<128
k = 20 , a1 = 128 a3= 255 128<=x<=255
例3 : 改变色相
对红色通道执行例1就行了
如图,为增加a1 至 a3 的 亮度