《Python人脸识别:从入门到工程实践》 ——3.2.2 灰度图像与二值图像

举报
华章计算机 发表于 2020/02/20 18:09:30 2020/02/20
【摘要】 本节书摘来自华章计算机《Python人脸识别:从入门到工程实践》 —— 书中第3章,第3.2.2节,作者是王天庆 。

3.2.2 灰度图像与二值图像

在上面我们已经接触到图像的颜色模型了,以RGB颜色模型为例,可以认为一张图片的颜色是由包含了红、绿、蓝3种不同通道的颜色进行叠加混合而产生的。

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

换句话说,有人说一张图片就是一个矩阵,其实这样的表述是不严谨的。对于彩***片来讲,一张图片不仅包含了一个矩阵,而是包含了红、绿、蓝3种不同颜色信息的3个矩阵。那么,是否存在一张图片就是一个矩阵的情况呢?当然有!我们下面介绍的灰度图像与二值图像就是如此。

1.灰度图像

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

image.png

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

我们的直观感觉是正确的,这也说明了灰度图像相对于彩***像缺少了具体的颜色信息,但是,灰度图像依然能够完好地展示出图像中各个部分的轮廓、纹理、形状等关键特征,同时灰度图片的存储结构相对于彩***片更为简单。这样便会产生一个优点,如果我们想要提取图像中的特征与颜色无太多关联,那么我们就可以选择将彩***片处理成灰度图片的预处理方式。由于灰度图片的结构更为简单,同时关键信息又不大会损失,这样就可以极大地减少计算量。

回过头我们再来想一想,我们可以通过手机来拍摄彩色照片,同样也可以拍摄出黑白照片。在这个过程中我们可以猜想,黑白照片和彩色照片是否存在转换关系呢?答案是肯定的。我们可以通过数学公式将RGB模型中的红、绿、蓝3个矩阵进行合并,合并成一个矩阵,这个矩阵就是代表了灰度图像的矩阵。

我们知道,即便是黑色,也分为不同的等级。黄种人再怎么晒黑也很难达到黑种人的肤色程度,即便我们周围确实有一些肤色黝黑的人。假如令黑种人的肤色为1代表纯黑色,白种人的肤色为0代表纯白色,那么我们黄种人中有的长得白一点的女生,她的肤色值就可以是0.2,有的长得黑一点的男生,他的肤色值就可以是0.6。

从上述的例子中,我们得出了一个结论:即便是黑色的程度也是可以量化的,介于黑色和白色之间的颜色就是灰色,那么直接量化的就是灰色的程度,这个程度就是灰度。一般的量化方法是将纯白色作为255,纯黑色作为0,在这个区间中,使用对数的方法划分具体数值进行量化。当然这个数值可以是浮点数。

从彩***片到灰度图片之间的转化公式就可以表示为:Igray=[0.299,0.587,0.114]·[Ir,Ig,Ib](3.1)其中,Igray代表灰度图像中的灰度值,[Ir,Ig,Ib]代表彩***像中R、G、B通道中的像素值。

式(3.1)表示了两个向量进行点乘的过程,例如图片中某一点的RGB值为(255,0,100),那么将该图片转化到灰度图片时,对应位置的灰度值为:Igray=0.299×255+0.587×0+0.114×100=87.645这里给出的转换系数只是一个参考值,使用不同的灰度图转换方法得到的值也是不相同的,一般常用的RGB数值比例大致为3∶6∶1。

2.二值图像

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

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

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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。