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