亮度、亮度和亮度不是一回事。HSL 颜色模型可以很好地理解其中一个组件是 L(亮度)。
根据您的要求,亮度不是您应该关心的东西。请阅读链接中的讨论:
http://www.cambridgeincolour.com/forums/thread23366.htm
RED (#FF0000) 在 100% 饱和度下的亮度为 50%,但我们使用的软件程序会稍微调整值以考虑感知因素。
你需要的是从纯色开始。纯色是 HSL 颜色空间中的颜色,其亮度为 50%,饱和度为 100%,更改色调的值可以为您提供纯色。通过 HSL/RGB 颜色空间共有 6*60 纯色可用。即,如果您将使用以下组合生成的颜色相加,您将获得 360 种纯色。
R=255*(x/60),G=0,B=255;其中 x 从 0 变为 60 R=255*(x/60), G=255, B=0; 其中 x 从 0 变为 60
R=255,G=255*(x/60),B=0;其中 x 从 0 变为 60 R=0, G=255*(x/60), B=255;其中 x 从 0 变为 60
R=255,G=0,B=255*(x/60);其中 x 从 0 变为 60 R=0, G=255, B=255*(x/60); 其中 x 从 0 变为 60
我们看到的所有颜色都是对饱和度和亮度的控制。
现在,要获取灰度图像:
1 - 您可以使用 Jerry 建议的亮度公式(还有一些其他公式可以获得更好的性能)。2 - 您可以在 HSL 颜色空间中将饱和度更改为 0%,这正是http://www.workwithcolor.com/hsl-color-schemer-01.htm所做的。