RGB到单色转换

Ash*_*ppa 19 rgb monochrome colors

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

Ash*_*ppa 19

我在Color FAQ中找到了一个可能的解决方案.的亮度分量 Y(从CIE XYZ系统)捕捉什么是最被人类在一个频道感知为颜色.所以,使用那些系数:

mono = (0.2125 * color.r) + (0.7154 * color.g) + (0.0721 * color.b);
Run Code Online (Sandbox Code Playgroud)


Mar*_*ade 7

这篇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);

  • 我认为这些对于这个应用程序都是错误的,因为它们适用于伽马校正的 RGB 值。 (2认同)

pal*_*m3D 6

这个最近的科学文章的状态的最先进的在变换彩色照片为灰度,包括简单的亮度公式和更复杂的技术进行比较.


小智 5

这取决于你的动机是什么.如果您只是想将任意图像转换为灰度并使其看起来非常好,那么此问题的其他答案中的转换就可以了.

如果要将彩色照片转换为黑白照片,则该过程可能既复杂又主观,需要对每张图像进行特定的调整.有关可能涉及的内容,请参阅Adobe for Photoshop的本教程.

在代码中复制它将相当复杂,并且仍然需要用户干预以使得到的图像在美学上"完美"(无论这意味着什么!).


Hen*_*aul 5

还如上所述,从 RGB 三元组进行灰度转换(请注意,单色图像不必是灰度图像)取决于品味。

例如,您可以作弊,通过简单地丢弃红色和绿色分量并复制蓝色值来代替它们,仅提取蓝色分量。另一个简单且通常可行的解决方案是取像素 RGB 三元组的平均值,并在所有三个分量中使用该值。

事实上,仅适用于 Photoshop 的专业且价格不菲的灰度/单色转换器插件就有相当大的市场,这一事实表明转换就像您希望的那样简单或复杂。