python opencv 直方图均衡_OpenCV:为何直方图均衡函数对彩色图像不起作用?

直方图均衡是一个非线性过程.。信道分割和信道均衡不是均衡对比度的合适方法。均衡涉及强度图像的值,而不是颜色分量。因此,对于简单的RGB彩色图像,不应该单独在每个通道上应用HE。为了不干扰图像的颜色平衡,第一步是将图像的颜色空间从RGB转换为其中一个,该空间将灰度值与颜色分量分离。其中一些是:

YCbCr是首选的,因为它是为数字化图像。执行强度平面的HE转换,将图像转换回RGB。

在您当前的情况下,您没有观察到任何重大的变化,因为在图像中只有两个突出的颜色。当图像中含有大量的颜色时,分割方法会导致颜色的不平衡。

例如,考虑以下图像:

输入图像1620

灰度图像均衡1620

个别信道均衡

1620

这是OpenCV代码,用于彩色图像的直方图均衡化。YCbCr颜色空间。Mat equalizeIntensity(const Mat& inputImage)

{

if(inputImage.channels() >= 3)

{

Mat ycrcb;

cvtColor(inputImage,ycrcb,CV_BGR2YCrCb);

vector channels;

split(ycrcb,channels);

equalizeHist(channels[0], channels[0]);

Mat result;

merge(channels,ycrcb);

cvtColor(ycrcb,result,CV_YCrCb2BGR);

return result;

}

return Mat();

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值