如何确定图像是否饱和?

use*_*721 3 image-processing

我正在尝试为图像实现自动饱和度工具,我正在尝试计算图像的全局饱和度并确定图像需要多少饱和度提升。如何计算全局饱和度?

Jas*_*ers 5

要回答这个问题,如果您只关心饱和度提升,这是最简单的算法:

  1. 找出图像中饱和度最大的像素。
  2. 确定在饱和度变为 100% 之前可以缩放多少饱和度并进行剪辑。(这是您开始丢失数据之前可以提高饱和度的最大值)
  3. 应用小于您刚刚确定的量的饱和度缩放量。

如果图像没有过度饱和并且没有饱和,那么它可能已经饱和了……想象一下红玫瑰的特写镜头。如果它完全饱和,整个图像就会变成红色。因此,过度饱和的图像可能有很大比例的像素具有相同或非常接近的颜色。如果我们的红玫瑰特写镜头饱和度不足,它可能不包含任何 100% 红色的像素,并且看起来是粉红色而不是红色。因此,如果图像没有接近完全饱和的像素,则可能是饱和不足。

其他一些需要考虑的事情:

请注意,饱和度可能具有感知方面的意义……黑色背景上的红色方块可能比白色背景上的红色方块看起来更饱和。

您可能需要多次通过。将图像分解为主体和背景,并将饱和度函数分别应用于每个。

过多的饱和度会使事物看起来平坦。饱和度太低会使事情看起来死气沉沉。

此外,图像可能已经太饱和了……在这种情况下,降低背景的饱和度,主体会显得更加饱和。

至于饱和度函数,尝试转换为 HSL 色彩空间;您可以缩放 S 分量来调整饱和度;如果那是您的原始色彩空间,则不要转换回 RGB。从颜色数据构建直方图。您会看到许多图像共享一个相似的直方图。您可以根据直方图场景选择合适的饱和度比例因子。