美文网首页
多种灰度化处理

多种灰度化处理

作者: 不懂不学不问 | 来源:发表于2021-05-12 14:13 被阅读0次

欢迎关注公众号:七只的Coding日志,更多链接

图像基础:

图像包含三个元素:图像的大小;  图像的深度;  图像的通道;

1、图像的位深度及其取值范围: src.depth()

    Mat类型:
    –      CV_<bit_depth>(S|U|F)C<number_of_channels>
    S = 符号整型  U = 无符号整型  F = 浮点型
    E.g.:
    CV_8UC1 是指一个8位无符号整型单通道矩阵,
    CV_32FC2是指一个32位浮点型双通道矩阵。
    
    CV_8UC1           CV_8SC1          CV_16U C1       CV_16SC1 
    CV_8UC2           CV_8SC2          CV_16UC2        CV_16SC2 
    CV_8UC3           CV_8SC3          CV_16UC3        CV_16SC3 
    CV_8UC4           CV_8SC4          CV_16UC4        CV_16SC4 
    CV_32SC1         CV_32FC1         CV_64FC1
    CV_32SC2         CV_32FC2         CV_64FC2
    CV_32SC3         CV_32FC3         CV_64FC3
    CV_32SC4         CV_32FC4         CV_64FC4
    
2、图像的大小:Size()
    size包含两个参数:就是图像的宽度和高。 取图像的大小:src.size()   
    Size (宽,高)
  
3、图像的通道
     Mat类型:  CV_<bit_depth>(S|U|F)C<number_of_channels>  中C就代表通道,后面的数字代表通道数。

问题:很多图片识别为什么将彩色图像灰度化?

知乎上的回答:

(1)我们识别物体,最关键的因素是梯度(现在很多的特征提取,SIFT,HOG等等本质都是梯度的统计信息),梯度意味着边缘,这是最本质的部分,而计算梯度,自然就用到灰度图像了。颜色本身,非常容易受到光照等因素的影响,同类的物体颜色有很多变化。所以颜色本身难以提供关⬚("在此处键入公式。" ) 键信息。

(2)包含色彩的话,特征量,计算量成指数倍数增加。比如一个点,灰度的话,就256个维度而已,但是如果算上RGB色彩的话,那就是1600万以上维度。然后再相互组合,或者说找梯度,可以想象看看~~计算量太大,但是好在就算是全色盲也可以分辨物体,于是就x先降维(灰度)来计算。

作者:zhegekankan
链接:https://www.zhihu.com/question/24453478/answer/478934400
来源:知乎

灰度图像能以较少的数据表征图像的大部分特征,因此在某些算法的预处理阶段需要进行彩色图像灰度化,以提高后续算法的效率。将彩色图像转换为灰度图像的过程称为彩色图像灰度化。在RGB模型中,位于空间位置(x,y)的像素点的颜色用该像素点的R分量R(x,y)、G分量G(x,y)和B分量B(x,y)3个数值表示。灰度图像每个像素用一个灰度值(又称强度值、亮度值)表示即可。

设f(x,y)表示位于空间位置(x,y)处的像素(该像素的R分量、G分量、B分量值分别为R(x,y)、G(x,y)、B(x,y))的灰度化:

  1. 最大值灰度化:

    算法:最大值灰度化方法将彩色图像中像素的R分量、G分量和B分量3个数值的最大值作为灰度图的灰度值。

    公式:f(x, y)=max⁡(R(x,y), G(x,y), B(x,y))

  1. 平均灰度化:

    算法:平均值灰度化方法将彩色图像中像素的R分量、G分量和B分量3个数值的平均值作为灰度图的灰度值。

    公式:f(x, y)=(R(x,y)+G(x,y)+ B(x,y))/3

  2. 加权平均值灰度化:

    由于人眼对绿色最为敏感,红色次之,对蓝色的敏感性最低,因此使W_G>W_R>W_B 将得到较易识别的灰度图像。一般时,W_R=0.299,W_b=0.587,W_G=0.114得到的灰度图像效果最好

    Gray= 0.072169B+ 0.715160G+ 0.212671*R

    Gray= 0.11B+ 0.59G+ 0.3*R

    前一种是OpenCV开放库所采用的灰度权值,后一种为从人体生理学角度所提出的一种权值(人眼对绿色的敏感最高,对蓝色敏感最低)

    算法:加权平均值灰度化方法将彩色图像中像素的R分量、G分量和B分量3个数值的加权平均值作为灰度图的灰度值。
    公式:f(x, y)=W_R∗R(x,y)+W_G∗G(x,y)+ W_B∗B(x,y)

  3. gamma校正加权均值进行图像灰度化:

    注意这里的2.2次方和2.2次方根, RGB颜色值不能简单直接相加,而是必须用2.2次方换算成物理光功率。因为RGB值与功率并非简单的线性关系,而是幂函数关系,这个函数的指数称为Gamma值,一般为2.2,而这个换算过程,称为Gamma校正。

    公式:Gray=√(2.2&(R^2.2 〖+(1.5G)〗^2.2 〖+(0.6B)〗2.2)/(1+〖1.5〗2.2+〖0.6〗^2.2 ))

总结:

由上图进行各个灰度化结果比较可以清晰的看出:

1、最大值法灰度化后图像过于亮,丢失的图像细节较多,常用于对原本色调较暗的图像进行处理

2、加权平均值法灰度化后过于暗,不易于进行目标对象与背景区域的区分,常用于对原本色调较亮的图像进行处理

3、直接调用函数进行灰度化颜色依旧偏暗

4、gamma修正灰度化的效果很好,但是gamma修正法的系数太多,而且设计到了指数以及开方运算,运算时间长,对于大量图片的处理更是不适用,对设备的要求非常高

5、均值的效果跟gamma修正法差不多,可能不及gamma修正法,但是其方法计算便捷,且结果较佳

因此一般使用均值法进行图片的灰度处理

相关文章

网友评论

      本文标题:多种灰度化处理

      本文链接:https://www.haomeiwen.com/subject/wijadltx.html