Opencv之图像灰度化

作者: 木夜溯 | 来源:发表于2016-06-16 00:20 被阅读5479次

    一、图像种类

    首先来看一下图像种类(ps: 这里介绍用到的彩色图像,灰度图像,二值图像,其他图像暂不做介绍)。

    每个图像的像素通常对应于二维空间中一个特定的'位置',并且有一个或者多个与那个点相关的采样值组成数值。根据这些采样数目及特性的不同数字图像可以划分为:
    二值图像:图像中每个像素的亮度值(Intensity)仅可以取自0或1的图像,因此也称为1-bit图像。

    灰度图像:也称为灰阶图像: 图像中每个像素可以由0(黑)到255(白)的亮度值(Intensity)表示。0-255之间表示不同的灰度级。

    彩色图像 (Color image):彩色图像主要分为两种类型,RGB及CMYK。其中RGB的彩色图像是由三种不同颜色成分组合而成,一个为红色,一个为绿色,另一个为蓝色。而CMYK类型的图像则由四个颜色成分组成:青C、品M、黄Y、黑K。CMYK类型的图像主要用于印刷行业。

    二、灰度化

    2.1 基本原理

    将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。
    灰度化,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。

    彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255个值可取,这样一个像素点可以有1600多万(255255255)的颜色的变化范围。而灰度图像一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。

    2.2 灰度化方法

    一般有四种方法对彩色图像进行灰度化处理:分量法、最大值法、平均值法、加权平均法。

    图像灰度化处理有以下几种方式:
    1. 分量法
    将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。

    f1(i,j)=R(i,j) 
    f2(i,j)=G(i,j) 
    f3(i,j)=B(i,j)
    其中fk(i,j)(k=1,2,3)为转换后的灰度图像在(i,j)处的灰度值。
    

    2. 最大值法
    将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。

    f(i,j)=max(R(i,j),G(i,j),B(i,j))
    

    3. 平均值法
    将彩色图像中的三分量亮度求平均得到一个灰度值。

    f(i,j)=(R(i,j)+G(i,j)+B(i,j)) /3
    

    4. 加权平均法
    根据重要性及其它指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的灰度图像。

    f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))
    

    三、Opencv中图像灰度化处理

    在Opencv中可以通过以上几种方法的数值计算来得到灰度图像也可以通过opencv提供的颜色空间转换函数来得到。
    Opencv封装灰度法

    //彩色图转为灰度图方法调用
    cv::cvtColor(rgbMat, greyMat, CV_BGR2GRAY); 
    

    相关文章

      网友评论

        本文标题:Opencv之图像灰度化

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