我想使用 Core Image 滤镜 CIGammaAdjust 执行自动 Gamma 校正。 CIGammaAdjust 需要设置“inputPower”值,如以下代码所示:
CIFilter* gammaFilter = [CIFilter filterWithName:@"CIGammaAdjust"];
[gammaFilter setValue:resultImage forKey:@"inputImage"];
[gammaFilter setValue:??? forKey: @"inputPower"];
resultImage = [gammaFilter valueForKey: @"outputImage"];
问题是,我应该如何计算输入功率的值?我计算了图像的 Gamma 值。如何将图像 Gamma 值转换为输入功率?我尝试仅使用 Gamma 值的倒数,但这似乎没有给出正确的结果。
最佳答案
这就是 mac 开发库所说的,“...
输入功率: 一个 NSNumber 对象,其属性类型为 CIAttributeTypeScalar,显示名称为 Power。
默认值:0.75
讨论: 该滤波器通常用于补偿显示器的非线性效应。调整 Gamma 可以有效地改变黑白之间过渡的斜率。它使用以下公式:
pow(s.rgb, vec3(power))
因此,要回答您的问题,请尝试比率。我认为 inputPower 的最大值是 3.00,最小值可能是 0 到 0.1。我会将您的 Gamma 值除以最大可能的 Gamma 值。然后将找到的值乘以最大输入功率值(2.9 到 3)。
希望这有帮助!
关于ios - Core Image 中 CIGammaAdjust 滤波器的输入功率值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17973108/