对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,图像越鲜亮,差异范围越小代表对比越小,图像越灰。
GPUImage中实现了对比度调整的Filter,其核心代码如下(fragment):
1 varying highp vec2 textureCoordinate; 2 3 uniform sampler2D inputImageTexture; 4 uniform lowp float contrast; 5 6 void main() 7 { 8 lowp vec4 textureColor = texture2D(inputImageTexture, textureCoordinate); 9 10 gl_FragColor = vec4(((textureColor.rgb - vec3(0.5)) * contrast + vec3(0.5)), textureColor.w); 11 }
其中contrast的取值范围为[0,4]。