一、简述直方图均衡化

直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法,可以用于图像增强、对输入图像进行直方图均衡化处理,提升后续对象检测的准确率在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中还有一个局部均衡化的函数,可以怎么用?

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

  1. Qt+OpenCV联合开发(十八)--多边形填充与绘制

    一.知识点 API 知识点: 1.polylines&fillPoly 2.drawContours 二.函数原型 1.polylines polylines的c++原型: 参数一:img  ...

  2. Qt+OpenCV联合开发(三十)--图像拼接

    一.引言 应用场景:车载摄像头.球型摄像头--十字路口.鱼眼摄像头--跑酷 图像拼接的前提条件,图像要有公共的部分 二.图像拼接的三种算法 1.SURF(精准度较高,画面好,计算耗时导致效率较低,清晰 ...

  3. STM32CubeIDE开发(二十五), 物联网应用之stm32的蓝牙通信设计

    一.蓝牙通信技术 蓝牙技术是一种点对点点对面的网络构架,他可以在限制的范围内以很快的速度传输网络数据,在物联网应用中,支持网状网络的物联网短距离无线通信.目前它还被广泛用于智能可穿戴设备.智能门锁.智 ...

  4. OpenCV探索之路(二十五):制作简易的图像标注小工具

    搞图像深度学习的童鞋一定碰过图像数据标注的东西,当我们训练网络时需要训练集数据,但在网上又没有找到自己想要的数据集,这时候就考虑自己制作自己的数据集了,这时就需要对图像进行标注.图像标注是件很枯燥又很 ...

  5. 【Android游戏开发二十五】在Android上的使用《贝赛尔曲线》!

    首先对于<赛贝尔曲线>不是很了解的童鞋,请自觉白度百科.google等等... 为了方便偷懒的童鞋,这里给个<贝赛尔曲线>百科地址,以及一段话简述<贝赛尔曲线>: ...

  6. Qt系列文章之二十五(使用QAudiolnput获取音频输入)

    文章目录 前言 效果图 QAudioInput获取音频输入功能概述 程序主窗口定义与初始化 音频输入设备支持的格式 开始音频输入 流设备MineDisplayDevice的功能实现 源码获取 前言   ...

  7. SQL2K数据库开发二十六之存储过程操作创建存储过程(一)

    1.可以使用Transact-SQL中的CREATE PROCEDURE语句创建存储过程,使用该语句的语法为: 2.在查询分析器中执行如下语句创建一个存储过程. 3.在企业管理器中创建存储过程的方法为 ...

  8. 【Qt+OpenCV项目开发学习】二、图片查看器应用程序开发

    一.前言 本博客将讲解如何用Qt+OpenCV开发一款图片查看器的Windows应用程序,其实不用OpenCV也能开发出这类软件,作者目的是为了学习Qt+OpenCV开发项目,所以会使用OpenCV, ...

  9. 二十五个软件测试经典面试题,你确定不收藏一波?

    二十五个软件测试经典面试题全在这里了,有兴趣的朋友建议收藏一波,或者留言交流! 1.在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试? 建立测试计划,确定测试标准和测 ...

最新文章

  1. instanceof, isinstance,isAssignableFrom的区别
  2. 如何利用 C# 爬取BigOne交易所的公告!
  3. OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程
  4. mysql高效sql语句_高效SQL优化 非常好用的SQL语句优化34条
  5. ArcGIS Engine开发之旅09--几何对象和空间参考
  6. oh,我的老伙计,你看看这近五十个dapr视频
  7. Jquery 日期组件
  8. 学习笔记之软考数据库系统工程师教程(第一版)
  9. poi之Excel下载之详细设置
  10. 如何用几何画板破解版制作正方体展开动画
  11. 一文带你完全掌握机器人DH参数建模(详细步骤+实例+代码)
  12. java记账软件开发_Java项目之家庭记账软件
  13. 数学方法论选讲---第一章 引论
  14. charles抓包踩过的坑之一 ——手机开了代理,不能访问网络
  15. 小米手机无限重启,两清与三清
  16. Marshmallow及ORM小结
  17. 启动cesium官方示例
  18. LaTeX中的中英文字体设置、混排
  19. 语雀可以导出html吗,工具 - Confluence 迁移到语雀 - 《语雀使用文档》 - 书栈网 · BookStack...
  20. 11月14日:jquery

热门文章

  1. imac 27寸 安装 win 7 黑屏问题,完美解决办法!
  2. Gmapping Dropped 100.00% of messages so far 解决办法
  3. 天猫京东双十一活动助手V1.9.7
  4. linux php验证码,openwrt路由器搭建PHP并用PHP识别验证码
  5. win32汇编琢石成器第三章笔记
  6. 【福慧双修-这是不是最短路?】
  7. vue-request发起网络数据请求
  8. Qt · 密码输入框检测并显示大写锁定键已打开
  9. 如何查看python有哪些内置函数_如何查看 Python 全部内置变量和内置函数?
  10. (二)Redis——持久化详细解析