在数字图像中,有一类图像显得很特别,被称为灰度图像,俗称黑白图像。这类图像只有8位,即0-255的256种变化。它记录的是合成光的亮度值,而不记录三原色光的亮度值。灰度图像也可以转换成24位图像,灰度图像中亮度为255的像素,转换后会记录为红绿蓝均为255的值,依次类推。如果彩色转成灰度呢?[注:24位彩色图像对应的灰度图像为8位,未来随着48位图像的普及,灰度图像的位数也会相应提高]
我们先生成一张红绿蓝色块组成的图像,色值均为最高值,即对应的值为255,如果转成灰度,会不会得到一样的结果呢?
实际情况并不是这样,转换后发现,绿色最浅、红色其次,蓝色最深。深浅代表色彩的亮度,最大值的绿色在单色中,亮度最高。在实际视觉体验当中,也会觉得绿色最为刺眼。
在很多情况下,不同的色彩,会对应相同的灰度,即具有相同的亮度。例如RGB(0,129,0)[中度绿色]与RGB(255,0,0)[红色],在转换后,结果一样。
利用这个原理,可以做色弱测试。因为亮度相同,如果无法区分色彩,就无法分辨出测试图案。
这种转换基于人眼对不同色彩的亮度感知程度,有一个心理公式作为算法的源头。
可以看到各色在亮度中的权重并不一样,因此不同的单色会有这不同的对应灰度值。基于这种算法转换出来的灰度图像,与原图的明暗变化最为一致,也是彩色转灰度图像的标准模式。
转灰度的算法,不仅限于一个,还有很多其他算法,用于不同用途。例如很多用户喜欢使用去色方式获得灰度图像,这种方式就是使用的平均算法。这种算法下,红绿蓝三色的亮度权重相等,所以得到的结果与基于心理公式的很不一样。
转换一些实际场景,也能看到不同算法之间的差异。转灰度的算法还有很多,这里不一一介绍,这也不是本文重点。需要明确的是,彩色图像与灰度图像之间的对应关系。灰度值对应的是亮度,值越高,亮度越高,反之则越低,颜色值并不等于合成光的亮度。你可以简单的把灰度图像理解为亮度记录表格
亮度变化丰富,就能形成明暗变化丰富细腻的光与影,很多时候,我们称赞一张照片层次丰富或者说这图一片死板,这种印象其实主要是由明暗变化程度所决定。有些读者,在后期处理时,会喜欢加大色彩饱和度到溢出的边缘,这样其实牺牲了色彩细节,从而导致明暗变化变弱,失去了层次感。
理性派可能会纠结于一个问题,既然灰度图像只有256色,是不是意味着数字图像的明暗亮度变化只有256层?不是这样,灰度图像也是整数矩阵,记录的每一个亮度值,都是取整后的整数。再看看那个心理公式,就能明白每个整数的背后都意味着流失精度。实际上,一张24位彩色图像实际能产生的层次远远大于256级。