美文网首页
关于rgb2gray和IMREAD_GRAYSCALE的不同效果

关于rgb2gray和IMREAD_GRAYSCALE的不同效果

作者: 叫个鸡儿 | 来源:发表于2019-04-25 10:05 被阅读0次

           偶然间发现使用imread("img",IMREAD_GRAYSCALE)和cvtColor(img,grayimg,CV_RGB2GRAY)得到的图片有差异,IMREAD_GRAYSCALE得到的图像更亮一点。

    IMAGE_GRAYSCALE CV_RGB2GRAY

    查了查opencv帮助文档,在imread函数下有如下注明:

            原来opencv默认读取图像按照B G R的顺序进行存储,因此使用IMREAD_GRAYSCALE时,其内建的灰度转换方式是BGR2GRAY。

    #BGR2GRAY:转换公式为Gray = 0.1140*B + 0.5870*G + 0.2989*R

    #RGB2GRAY:转换公式为Gray = 0.1140*R + 0.5870*G + 0.2989*B

           验证一下BGR2GRAY与IMREAD_GRAYSCALE的效果是否相同。

    BGR2GRAY IMAGE_GRAYSCALE

         结果完全一致,其实在MATLAB,IDL等图像处理软件中都是默认按照BGR的顺序来处理的,竟然忘了,Mark。

    相关文章

      网友评论

          本文标题:关于rgb2gray和IMREAD_GRAYSCALE的不同效果

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