OpenCV灰度图与其变变换

OpenCV灰度图与其变变换

参考
https://blog.csdn.net/dddxxxx/article/details/51941990
https://www.zhihu.com/question/21593044

前言

实际中发现:
IMREAD_GRAYSCALECOLOR_BGRA2RGBA所得灰度图是不同的。
imread(xx.jpg,0)imread(xx.jpg,IMREAD_GRAYSCALE)
cvtColor(src, gray, COLOR_BGR2GRAY);得到不一样的灰度图。

解释

  • 先看cvtColor官方文档的说明:
    这里写图片描述
    可以看到RGB通道变换到灰度影像时个通道的权重不同。
    为什么变换公式是非等权的呢。
    在网上找了些资料,个人比较信服的解释是:
    人眼对绿色的敏感度最高,对红色的敏感度次之,对蓝色的敏感度最低,因此使用不同的权重将得到比较合理的灰度图像。实验和理论推导得出 0.299、 0.587、 0.114。

  • 再看imread的官方文档说明:
    In the case of color images, the decoded images will have the channels stored in B G R order.可以看出彩色影像存入mat中是按照BGR的顺序存储的。
    但进行imread(xx.jpg,IMREAD_GRAYSCALE)要求读入灰度影像时,BGR三个通道获得灰度的方式就不知道了(没有追源码)但它确实与cvtColor变换的公式不同,可能各通道是等权处理的把。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值