修改RGB图像亮度的算法?

use*_*859 7 rgb image-processing

我知道有RGB - > Luminance的公式,但我需要一个亮度参数来修改图像的RGB值.我怎么做?

谢谢

Mar*_*som 17

最简单的方法是将每个R,G,B值乘以某个常数 - 如果常数> 1则使其更亮,如果<1则更暗.如果你使它更亮,那么你必须测试每个值,以确保它不超过最大值(通常为255).

这不仅比从RGB到HSL的转换更简单,而且更接近于它,但它更接近于在物理对象上照射不同光量时发生的情况.


Chr*_* A. 16

从RGB到HSL(色调/饱和度/亮度)的映射,保持色调和饱和度相同,只需修改亮度,然后执行从HSL到RGB的后向映射.

您可以在此处阅读有关RGB到HSL和HSL到RGB转换的更多信息.

  • HSL 与物理学或心理物理学没有任何关系,它只是 RGB 欧几里德坐标的极坐标重写。另外,HSL 中的“L”表示亮度,而不是亮度。亮度是一种物理指标,单位为 Cd/m²。HSL 非常糟糕,不应该用于像素操作。在转换为 RGB 之前,它最多对 GUI 参数有用。 (3认同)