3

我想使用 Java 调整图像的曝光。我知道在 Java 2D 中有现有的函数可以完成这项工作。但我也想知道它在颜色级别上是如何工作的。我在网上做了一些研究,它说我们可以将 R、G、B 与某些参数相乘以实现过度曝光,这些参数是什么?曝光不足怎么办?提前致谢!

4

1 回答 1

2

您可能会发现此页面很有用,其中包含有关通用曝光函数的一些非常详细的信息:

然而,一般来说,曝光调整就是使用某种形式的平滑单调函数来移动颜色曲线,该函数将范围 0..1 映射到相同的 0..1 范围:

  • 它需要是单调的(总是增加的),以便在转换后较亮的区域比较暗的区域保持更亮
  • 它需要平滑,这样您就不会在颜色渐变中产生突然的跳跃/条带
  • 它需要在 0..1 范围内起作用,因为这是您的(标准化)RGB 颜色值所在的位置!

这种函数的一个简单示例是:

new component value = (old component value) ^ k

这里的参数值 k>1 会使图像变暗,k<1 会使图像变亮。您可以使用参数和公式,直到获得您喜欢的效果。

于 2012-05-17T00:55:31.390 回答