Qt+OpenCV联合开发(二十五)--直方图均衡化(equalizeHist)

23 篇文章 1 订阅
15 篇文章 20 订阅

一、简述直方图均衡化

直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法,可以用于图像增强、对输入图像进行直方图均衡化处理,提升后续对象检测的准确率在OpenCV人脸检测的代码演示中已经很常见。此外对医学影像图像与卫星遥感图像也经常通过直方图均衡化来提升图像质量

二、函数原型

equalizeHist函数

c++原型

 参数:

  1. 输入图像
  2. 输出图像

注:此函数只支持单通道图像(灰度图像)的均衡化

三、实现效果

下面三张分别对应原图、灰度图像、灰度图像均衡化

四、代码

void test1::hist_equalize(Mat &image)
{
    Mat gray_img;
    cvtColor(image,gray_img,COLOR_BGR2GRAY);
    namedWindow("gray_img", WINDOW_FREERATIO);
    imshow("gray_img", gray_img);//灰度图像
    Mat dst;
    equalizeHist(gray_img,dst);
    namedWindow("hist_equalize", WINDOW_FREERATIO);
    imshow("hist_equalize", dst);
}

抛出两个问题:

1、 这里直方图均衡化只支持灰度图像,怎么让它支持彩色图像?

因为直方图均衡化本质上是调整对比度(即亮度),亮度的值在HSV空间里面就是对应V通道,可以先把图像转到HSV空间之后,分离通道再对V通道单独均衡化,再merge回HSV图像里面去,最后再转换到RGB色彩空间里面,这样就可以完成彩色图像的均衡化,当然,也可以转成YCrCb色彩空间进行处理,效果一样,如下图所示

2、opencv中还有一个局部均衡化的函数,可以怎么用?

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ze言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值