返回

图像灰度化

Grayscale - RGB 三通道与灰度转换
第二章 / 图像预处理
参数面板

参数区切换示例图像、通道显示和灰度化方法;详情区围绕当前像素,展示 R/G/B 权重如何合成为一个灰度值。

除 Lena 外,渐变、棋盘等示例图的彩色显示由算法合成,用于观察 RGB 通道分离效果。

窗口定位辅助操作
用方向键或下方 4 个按钮移动当前窗口;也可以直接点击原图或结果图跳转。
当前像素 (0, 0)1 / 4096
方向
概念说明

为什么要把彩色图变成灰度图

RGB 图像转灰度时,颜色通道被合成为单通道亮度结构。图源:scikit-image rgb2gray 示例
任务

当后续任务只关心物体的明暗结构和轮廓,而不需要区分红、绿、蓝颜色时,直接处理三个通道会让计算变重,也可能被不相关的颜色信息干扰。

思路

常用的办法是把 R、G、B 三个通道合成为一个亮度值:可以用加权平均,也可以用简单平均把三通道等权处理,还可以只取某一个通道作为灰度结果。

观察

切换原图的 R/G/B 单通道显示,再切换加权平均和简单平均等灰度化方法,观察同一个像素的输出值怎么变;注意颜色差异大的区域在灰度图中是否还能区分。

方向键移动 / 点击图像跳转当前像素 (0, 0)
1 / 4096
原图64×64
彩色图
灰度转换
1 / 4096
结果64×64
加权灰度结果
RGB 输入
R 0G 122B 56
加权权重相乘
R × 0.299 = 0.0
G × 0.587 = 71.8
B × 0.114 = 6.4
求和输出
78.2
灰度值(0-255)
当前像素灰度化表达式
当前位置 (0, 0)
加权法
Vgray = 0.299R + 0.587G + 0.114B = 0.2990 + 0.587122 + 0.11456 = 78.2

加权法使用 0.299、0.587、0.114 三个权重,反映人眼对绿色更敏感、对蓝色相对不敏感的视觉特性。

当前页面采用的精确系数;教材中常见的 0.3/0.59/0.11 是该组权重的常用近似。

公式在当前像素的具体代入

三个通道与当前方法对应权重的乘积,求和得到右侧结果图中的灰度输出值。

共 3 项乘积
R 通道贡献
权重 × 0.299
红色通道值 × 权重
0.0
0 × 0.299
G 通道贡献
权重 × 0.587
绿色通道值 × 权重
71.8
122 × 0.587
B 通道贡献
权重 × 0.114
蓝色通道值 × 权重
6.4
56 × 0.114
输出结果
三项求和
三通道贡献之和 = 加权法灰度值
78.2
0.0 + 71.8 + 6.4
位置 (0, 0) 的 RGB 三通道数值
R0
G122
B56
灰度78.2