图像灰度化

来源:互联网 发布:java 反射 参数 null 编辑:程序博客网 时间:2024/06/14 07:50

一 、灰度图

1.1 图像的颜色格式

         图像的颜色格式不同,那么其对颜色的存储方式也是不一样的,我们常见的颜色格式为RGB格式的,是将像素的RGB分量分别存放为R、G、B的值;而YUV格式的的颜色格式这是将像素按照Y、U、V存放的(在《Duanxx的HEVC学习(一)输入视频文件YUV文件的分析》有关于YUV文件的详细分析);还有HSI格式的图像,是依照色调、饱和度、亮度三个分量来表示颜色的。

         就RGB格式而言,一般的我们使用的都是24位真彩的图像,其每个颜色的分量都是一个字节,也就是0~255,那么它总共能表示的颜色的种类就有2^24种。

         而灰度图像指的就是RGB三个分量相同的一种特殊的图像。灰度图像的描述与彩色图像一样,反映了一幅图像的色度和亮度的变化。


1.2 为什么要灰度化

         首先,我们人眼对图像亮度和色度的敏感度是不一样的,人眼更倾向于亮度信息,RGB图像其实也就是RGB三者分量的亮度信息的综合。实际上,RGB图像并不能反映图像的形态特征,只是从光学的原理上对颜色进行了调配。YUV格式的图片就是根据人对色度和亮度的感受不同而重新分配了数据的存放方式,其中Y就是亮度信息,UV则是色度信息。HSI也是一样的,其中真正能反映图像特征的是I,其他都是色彩上的反映。也就是说,亮度信息是主要反映图像特征的信息,而灰度图像就是一种单纯的反映图像亮度特征的格式

         其次,我们一般在做图像处理时,需要进过大量的运算,RGB三通道的数据存在一定程度上的信息冗余,而灰度图像只有一个通道的数据,在同样反映图像特性的效果下,数据处理和计算量相对较少

 

1.3 灰度化算法

1.        均值

Gray = (B + G + R)/3

 

2.        分量

直接去RGB中某一个分量做为灰度值

Gray = B  or  Gray = G or   Gray = R

 

3.        最大值

Gray = Max(R,G,B)

 

4.        Opencv采用的算法

         Gray= 0.072169B+ 0.715160G+ 0.212671R

 

5.        YUV图像格式采用的算法

就是直接去YUV图像格式中的Y值

         Gray= 0.11B+ 0.59G+ 0.3R


0 0