灰度图像与二值图像

灰度图像与二值图像

以 RGB 颜色模型为例,可以认为一张图片的颜色是由包含了红、绿、蓝 3 种不同通道的颜色进行叠加混合而产生的。从数学角度来看,对于一张彩色图片,可以认为其是由 3 个二维矩阵进行叠加混合而产生的,每一个二维矩阵记录了某种颜色在不同位置处的亮度值,那么 3 个二维矩阵就对应了该图片的 3 个最基本的颜色通道。

灰度图像

只需要用一个二维矩阵就可以表示一个灰度图像了,我们可以看到这个 8×8 图片所表现的图形是一个字母 Z 的形状。

例如,非彩色打印的书籍中的图片就是灰度图像,黑白照片也是灰度图像。这类图片有个特点,虽然这些图片没有包含其他五颜六色的信息,但是,我们依然能够从这些图片中获取到图像的轮廓、纹理、形状等特征。

我们的直观感觉是正确的,这也说明了灰度图像相对于彩色图像缺少了具体的颜色信息,但是,灰度图像依然能够完好地展示出图像中各个部分的轮廓、纹理、形状等关键特征,同时灰度图片的存储结构相对于彩色图片更为简单。

这样便会产生一个优点,如果我们想要提取图像中的特征与颜色无太多关联,那么我们就可以选择将彩色图片处理成灰度图片的预处理方式。由于灰度图片的结构更为简单,同时关键信息又不大会损失,这样就可以极大地减少计算量。

我们可以通过数学公式将 RGB 模型中的红、绿、蓝 3 个矩阵进行合并,合并成一个矩阵,这个矩阵就是代表了灰度图像的矩阵。从彩色图片到灰度图片之间的转化公式就可以表示为:

Igray=[0.299,0.587,0.114]·[Ir,Ig,Ib]

其中,Igray 代表灰度图像中的灰度值,[Ir,Ig,Ib]代表彩色图像中 R、G、B 通道中的像素值。上式表示了两个向量进行点乘的过程,例如图片中某一点的 RGB 值为(255,0,100),那么将该图片转化到灰度图片时,对应位置的灰度值为:

Igray=0.299×255+0.587×0+0.114×100=87.645

二值图像

二值图像顾名思义只有纯黑色和纯白色两种颜色,没有中间过渡的灰色。其数据结构也是一个二维矩阵,只不过这里面的数值只有 0 和 1 两种。

二值图像是在灰度图像的基础上进一步计算的结果,计算过程比较简单,需要指定一个阈值,然后判断图片中不同点处的灰度值,如果该点处的灰度值高于阈值则该点值为 1,否则为 0,这样也就实现了灰度图片二值化的过程了。

可以看到,二值图像的空间占用量进一步减少了,每一个像素点只需要 1 比特就可以表示了,这对于表示字符这类非黑即白形式的图片具有优势。由于二值图像是在灰度图片的基础上通过阈值判断产生的,这样就会缺少细节部分,只能显示出图片的大致轮廓。不过,这个特性虽然带给我们直观的感觉是很不好的,但是,这在图像的分割等场景中具有很好的利用价值。