我一直试图找出像Photoshop这样的程序在对图像的每个像素进行去饱和时使用的数学算法。通过去饱和,我的意思是将彩色图像转换为灰度图像并仍然保持色彩空间。我还在谈论一个RGB图像,但它刚刚变色,现在是黑白色。
有谁知道使用了哪种算法?
答案 0 :(得分:11)
去饱和非常简单。通常类似于G*.59+R*.3+B*.11
Photoshop还有一个B& W转换工具,它(基本上)允许您为每个工具选择因子。例如,您可以通过增加红色百分比来获得红色滤镜的效果,并减少绿色和蓝色以匹配。
答案 1 :(得分:4)
如评论中所述,接受的答案不是 Photoshop使用的公式。真正的Photoshop去饱和公式是最小RGB和最大RGB分量的平均值。
float bw = (fminf(r, fminf(g, b)) + fmaxf(r, fmaxf(g, b))) * 0.5f;
我相信Photoshop中的HSL操作是在min-max-hue空间中运行的,因此选择此公式来提高速度。