2008-08-18 92 views
18

如何将像素的RGB值转换为单个单色值?RGB到单色转换

+0

我认为你的意思是灰度。单色表示图像处于一种色调,并且仍然色彩缤纷。 – golopot 2017-06-17 02:04:55

回答

18

我在Color FAQ找到了一个可能的解决方案。 Y(来自CIE XYZ系统)捕获了人类在一个通道中最容易察觉的颜色。因此,使用这些系数:

mono = (0.2125 * color.r) + (0.7154 * color.g) + (0.0721 * color.b); 
6

This MSDN article使用(0.299 * color.R + 0.587 * color.G + 0.114 * color.B);

This Wikipedia article使用(0.3* color.R + 0.59 * color.G + 0.11 * color.B);

+1

我认为这些对于这个应用程序都是错误的,因为它们适用于伽马校正的RGB值。 – 2011-11-22 23:22:35

5

这取决于你的动机是什么。如果您只是想将任意图像变成灰度并使其看起来不错,那么可以通过其他方式解决这个问题。

如果您将彩色照片转换为黑白图像,则该过程既复杂又主观,需要对每幅图像进行特定的调整。有关可能涉及的一个想法,请查看来自Adobe for Photoshop的tutorial

代码复制,这将是相当复杂的,并且仍然需要用户干预来获得所产生的图像美学“完美”(这意味着什么!)。

5

recent scientific article所述状态的最先进的在变换彩色照片为灰度,包括简单的亮度公式和更复杂的技术进行比较。

3

如还提到,灰度转换(注意,单色图像不需要在灰度)从RGB三元组的主题的味道。

例如,你可以欺骗,只抽取蓝色成分,通过简单地投掷红色和绿色成分路程,复制代替他们的蓝色值。另一个简单而通常可行的解决方案是获取像素的RGB三元组的平均值,并在所有三个组件中使用该值。

事实上,专业和非常便宜的所有没有sirree灰度/单色转换插件仅用于Photoshop的事实表明,转换是一样简单或复杂,如你所愿。