我原来的问题
我读到将RGB像素转换为灰度RGB,应该使用
r_new = g_new = b_new = r_old * 0.3 + g_old * 0.59 + b_old * 0.11
我还阅读并理解,它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 人的主观调查。
但是,当将图像转换为灰度时,为了获得“最佳”艺术效果,几乎可以肯定不会使用这些预定义系数,而是调整每个通道的贡献以产生特定图像的最佳输出。