如何将像素的RGB值转换为单个单色值?
我在Color FAQ中找到了一个可能的解决方案.的亮度分量 Y(从CIE XYZ系统)捕捉什么是最被人类在一个频道感知为颜色.所以,使用那些系数:
mono = (0.2125 * color.r) + (0.7154 * color.g) + (0.0721 * color.b);
这篇MSDN文章使用(0.299 * color.R + 0.587 * color.G + 0.114 * color.B);
这篇维基百科文章使用(0.3* color.R + 0.59 * color.G + 0.11 * color.B);
这个最近的科学文章的状态的最先进的在变换彩色照片为灰度,包括简单的亮度公式和更复杂的技术进行比较.
这取决于你的动机是什么.如果您只是想将任意图像转换为灰度并使其看起来非常好,那么此问题的其他答案中的转换就可以了.
如果要将彩色照片转换为黑白照片,则该过程可能既复杂又主观,需要对每张图像进行特定的调整.有关可能涉及的内容,请参阅Adobe for Photoshop的本教程.
在代码中复制它将相当复杂,并且仍然需要用户干预以使得到的图像在美学上"完美"(无论这意味着什么!).