我收集了彩色/黑白图像,其中大多数具有不同级别的亮度和饱和度。
How can I normalize those images to make them all at the same "**scale**"?
就我而言,某些图像可能还具有大量白色像素,因为它们是一些旧照片的扫描件。
谢谢
最佳答案
在没有看到图像的情况下很难提出任何非常具体的建议,但一个想法可能是转向基于亮度和饱和度的色彩空间,然后对两个感兴趣的 channel 进行自动 Gamma 校正。
这可能会造成严重困惑,因此请先备份您的图像!
所以,我建议如下:
convert Original.jpg -colorspace HSL -channel B -auto-gamma -colorspace sRGB BrightnessNormalised.jpg
在我移动到“色相、饱和度和亮度”色彩空间时,选择亮度
channel (它是第三个 channel ,因此它是B
) > 从 RG&B
中获取)并对 Lightness
进行自动 Gamma 处理,然后保存为经过亮度校正的 sRGB JPEG。
同样,要标准化饱和度,您可以这样做:
convert Original.jpg -colorspace HSL -channel G -auto-gamma -colorspace sRGB SaturationNormalised.jpg
您可以通过使用 -channel GB
一次性执行这两项操作:
convert Original.jpg -colorspace HSL -channel GB -auto-gamma -colorspace sRGB Normalised.jpg
对于灰度图像来说,标准化饱和度可能不是一个好主意,但请进行一些测试。
如果您有喜怒无常、低调的照片或轻快、明亮、高调的照片,那么标准化图像的亮度并不是一个好主意。保留该备份 - 只需制作一个 ZIP/压缩 tar 球并保留它。
关于java - 标准化图像亮度和饱和度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44384914/