我想使用 Java 调整图像的曝光度。我知道在 Java 2D 中有一些现有的功能可以完成这项工作。但我也想知道它在颜色级别上是如何工作的。我在网上做了一些研究,它说我们可以将 R、G、B 与某些参数相乘以实现过度曝光,这些参数是什么?曝光不足怎么办?提前致谢!
最佳答案
你可能会发现这个页面很有用,有一些关于通用曝光函数的非常详细的信息:
但是,一般来说,曝光调整都是关于使用某种形式的平滑单调函数来移动颜色曲线,该函数将范围 0..1 映射到相同的 0..1 范围:
- 它需要是单调的(始终递增),以便在转换后较亮的区域比较暗的区域更亮
- 它需要平滑,这样你就不会在颜色渐变中产生突然的跳跃/ strip
- 它需要作用于 0..1 范围,因为这是您的(标准化)RGB 颜色值所在的位置!
此类函数的一个简单示例是:
new component value = (old component value) ^ k
这里参数值 k>1 会使图像变暗,k<1 会使图像变亮。您可以使用参数和公式,直到获得您喜欢的效果。
关于java - 如何在java中调整曝光?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628571/