为什么灰度按照它的方式工作?

Del*_*ani 20 hsl rgb colors hsv

我原来的问题

我读到要将RGB像素转换为灰度RGB,应该使用

r_new = g_new = b_new = r_old * 0.3 + g_old * 0.59 + b_old * 0.11
Run Code Online (Sandbox Code Playgroud)

我也阅读并理解,它g具有更高的权重,因为人眼对绿色更敏感.实现这一点,我看到结果与在像Gimp这样的图像编辑器中将图像设置为"灰度"时的结果相同.

在我读到这篇文章之前,我想象要将像素转换为灰度,将其转换为HSL或HSV,然后将饱和度设置为零(因此,删除所有颜色).然而,当我这样做时,我得到了一个完全不同的图像输出,即使它也缺少颜色.

如何s = 0准确地从"正确"的方式我读不同,为什么它"不正确"?

基于答案和其他研究的持续发现

似乎使用哪个亮度系数是一些争论的主题.各种组合和灰度算法具有不同的结果.以下是电视标准等领域中使用的一些预设:

  • ITU-R BT.601(NTSC?)定义的系数是 0.299r + 0.587g + 0.114b
  • ITU-R BT.709(更新版)定义的系数是 0.2126r + 0.7152g + 0.0722b
  • 等于三分之一的系数(1/3)(rgb)相当于s = 0

这篇科学文章详细介绍了各种灰度技术及其各种图像的结果,以及对119人的主观调查.

然而,当将图像转换为灰度时,为了实现"最佳"艺术效果,几乎肯定不会使用这些预定义系数,而是调整每个通道的贡献以产生特定图像的最佳输出.

Ben*_*min 10

虽然存在这些变换系数,但没有任何东西可以帮助您使用它们.只要每个像素的总强度不变,每个通道的贡献可以是任何值,范围从0到100%.

将图像转换为灰度的摄影师使用通道混合器来调整每个通道的电平(RGB或CMYK).在您的图像中,有许多红色和绿色,因此可能需要(取决于您的意图)使这些通道在灰度级强度中比蓝色更高.

这就是区分图像的"科学"转换与乐队的"艺术"组合的区别.

另一个考虑因素是每个波段的动态值范围,并尝试将其保留在灰度图像中.例如,增强阴影和/或高光可能需要增加蓝色波段的贡献.


JNa*_*dal 5

这里有一篇关于该主题的有趣文章......“因为人眼不会随颜色线性检测亮度”。

http://www.scantips.com/lumin.html