我怎样转换的RGB值素的单个的单色的价值?

有帮助吗?

解决方案

我找到一个可能的解决方案在 常见问题的颜色.的 亮度分 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为Photoshop。

复制这在码将相当参与,并仍将需要用户的干预获得产生的图像美学"完美"(这意味着什么!).

作为所提及的还有,一个灰翻译(注意,单色图像不需要在灰度)从RGB-三受到的味道。

例如,可以作弊,仅提取蓝色分,通过简单的投红色和绿色的分离和复制的蓝色值在他们的帮助。另一个简单并且通常确定的解决方案将采取的平均素的RGB-三和使用这一价值,在所有三个组成部分。

事实上,有一个相当大的市场对专业并不是非常便宜在所有的-没有-绝对灰/单色转换插件Photoshop单,告诉转换,只是作简单的还是复杂的,如你所愿。

背后的逻辑转换的任何RGB基础的画面,以色可不是一个简单的线性变换。在我看来,这样一个问题是更好地处理通过"色分割的"技术。你可以实现的"颜色分割",由k-意味着聚类。

参见参考的例子,从嵌入网站。

https://www.mathworks.com/examples/image/mw/images-ex71219044-color-based-segmentation-using-k-means-clustering

原画中的色彩。

Picture with colours

之后转换成黑白使用k-聚集装置 Picture after converting to monochrome using k-means clustering

这怎么工作的?

收集所有像素数值从整个图像。从图像它是W素广泛和H高素,你会得到W*H色的价值观。现在,使用k-装置算法创建2群(或垃圾桶)和投掷的颜色到合适的"箱".2集群代表你的黑色和白色的阴影。

Youtube上的视频演示图像分割的使用k-意味着什么吗? https://www.youtube.com/watch?v=yR7k19YBqiw

挑战这种方法

K-意味着聚类的算法是容易受到异常值。一些随机的像素与一种颜色的RGB距离远离其余的人群可以很容易地偏斜的重心产生意想不到的结果。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top