要回答这个问题,如果您只关心饱和度提升,这是最简单的算法:
如果图像没有过度饱和并且没有饱和,那么它可能已经饱和了……想象一下红玫瑰的特写镜头。如果它完全饱和,整个图像就会变成红色。因此,过度饱和的图像可能有很大比例的像素具有相同或非常接近的颜色。如果我们的红玫瑰特写镜头饱和度不足,它可能不包含任何 100% 红色的像素,并且看起来是粉红色而不是红色。因此,如果图像没有接近完全饱和的像素,则可能是饱和不足。
其他一些需要考虑的事情:
请注意,饱和度可能具有感知方面的意义……黑色背景上的红色方块可能比白色背景上的红色方块看起来更饱和。
您可能需要多次通过。将图像分解为主体和背景,并将饱和度函数分别应用于每个。
过多的饱和度会使事物看起来平坦。饱和度太低会使事情看起来死气沉沉。
此外,图像可能已经太饱和了……在这种情况下,降低背景的饱和度,主体会显得更加饱和。
至于饱和度函数,尝试转换为 HSL 色彩空间;您可以缩放 S 分量来调整饱和度;如果那是您的原始色彩空间,则不要转换回 RGB。从颜色数据构建直方图。您会看到许多图像共享一个相似的直方图。您可以根据直方图场景选择合适的饱和度比例因子。