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准确地从"正确"的方式我读不同,为什么它"不正确"?
基于答案和其他研究的持续发现
似乎使用哪个亮度系数是一些争论的主题.各种组合和灰度算法具有不同的结果.以下是电视标准等领域中使用的一些预设:
0.299r + 0.587g + 0.114b0.2126r + 0.7152g + 0.0722b(1/3)(rgb)相当于s = 0这篇科学文章详细介绍了各种灰度技术及其各种图像的结果,以及对119人的主观调查.
然而,当将图像转换为灰度时,为了实现"最佳"艺术效果,几乎肯定不会使用这些预定义系数,而是调整每个通道的贡献以产生特定图像的最佳输出.
Ben*_*min 10
虽然存在这些变换系数,但没有任何东西可以帮助您使用它们.只要每个像素的总强度不变,每个通道的贡献可以是任何值,范围从0到100%.
将图像转换为灰度的摄影师使用通道混合器来调整每个通道的电平(RGB或CMYK).在您的图像中,有许多红色和绿色,因此可能需要(取决于您的意图)使这些通道在灰度级强度中比蓝色更高.
这就是区分图像的"科学"转换与乐队的"艺术"组合的区别.
另一个考虑因素是每个波段的动态值范围,并尝试将其保留在灰度图像中.例如,增强阴影和/或高光可能需要增加蓝色波段的贡献.