我正在尝试为图像实现自动饱和度工具,我正在尝试计算图像的全局饱和度并确定图像需要多少饱和度提升。如何计算全局饱和度?
最佳答案
要回答这个问题,如果您只关心饱和度提升,这是最简单的算法:
- 找到图像中具有最大饱和度的像素。
- 确定在饱和度变为 100% 和剪辑之前可以将饱和度缩放多少。 (这是在开始丢失数据之前可以提高饱和度的最大值)
- 应用小于您刚刚确定的量的饱和度缩放量。
如果图像不是过度饱和也不是饱和度不足,则图像可能饱和度很好...... 想象一下一朵红玫瑰的特写镜头。如果它完全饱和,整个图像就会变成红色。因此,过度饱和的图像可能有很高比例的像素具有相同或非常接近的颜色。如果我们的红玫瑰特写镜头饱和度不足,它可能不包含任何 100% 红色的像素,并且看起来是粉红色而不是红色。因此,如果图像没有接近完全饱和度的像素,则它可能处于饱和状态。
其他一些需要考虑的事情:
请注意,饱和度可能具有感知方面... 黑色背景上的红色方 block 可能比白色背景上的红色方 block 显得更饱和。
您可能需要多次通过。将图像分解为主题和背景,并分别应用饱和度功能。
过多的饱和度会使事物看起来单调。饱和度太低会使事物看起来死气沉沉。
此外,图像可能已经太饱和了……在这种情况下,降低背景的饱和度,拍摄对象会显得更饱和。
就饱和度函数而言,请尝试转换为 HSL 色彩空间;您可以缩放 S 分量以调整饱和度;如果那是您的原始色彩空间,则不要转换回 RGB。从颜色数据构建直方图。您会看到许多图像共享相似的直方图。根据直方图场景,您可以选择合适的饱和度比例因子。
关于image-processing - 如何确定图像是否饱和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19709121/