千家信息网

C++ OpenCV如何实现直方图均衡化

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了"C++ OpenCV如何实现直方图均衡化",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C++ OpenCV如何实现直方图均衡化"
千家信息网最后更新 2026年11月03日C++ OpenCV如何实现直方图均衡化

这篇文章主要为大家展示了"C++ OpenCV如何实现直方图均衡化",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C++ OpenCV如何实现直方图均衡化"这篇文章吧。

直方图定义

图像直方图由于其计算代价较小,且具有图像平移、旋转、缩放不变性等众多优点,广泛地应用于图像处理的各个领域,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类。

数码时代,直方图可以说是无处不在。无论是相机的显示屏,还是后期PS、ACR里的窗口,甚至色阶、曲线的工具之中,都可以看到直方图的身影。

要理解直方图,绕不开"亮度"这个概念。人们把照片的亮度分为0到255共256个数值,数值越大,代表的亮度越高。其中0代表纯黑色的最暗区域,255表示最亮的纯白色,而中间的数字就是不同亮度的灰色。人们还进一步把这些亮度分为了5个区域,分别是黑色,阴影,中间调,高光和白色。

如果一副图像的像素占有很多的灰度级而且分布均匀,那么这样的图像往往有高对比度和多变的灰度色调。直方图均衡化就是一种能仅靠输入图像直方图信息自动达到这种效果的变换函数。它的基本思想是对图像中像素个数多的灰度级进行展宽,而对图像中像素个数少的灰度进行压缩,从而扩展像元取值的动态范围,提高了对比度和灰度色调的变化,使图像更加清晰。


基本思想

直方图均衡化处理的"中心思想"是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成"均匀"分布直方图分布。

直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。

通过上一篇《C++ OpenCV图像的重映射》我们用到了remap这个函数,可以将图像灰度分布从一个分布映射到另一个分布,然后再得到映射后的像素值即可。

直方图均衡化API cv::equalizeHist

代码演示

新建一个项目opencv-0020,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法

直方图均衡化

代码非常简单

我们来看看显示效果

我们再换换别的图试一下效果

以上是"C++ OpenCV如何实现直方图均衡化"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

直方图 图像 灰度 均衡 像素 亮度 C++ 就是 思想 效果 范围 内容 对比度 篇文章 原始 个数 人们 代码 代表 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 互联网科技公司经营范围 互联网科技工作委员会毛军 互联网科技巨头监管 科技和互联网公司 互联网通讯科技 互联网品科技 科技制造互联网公司 小马过河互联网科技 无线互联网科技 苏州大垚互联网科技 火传媒上海互联网科技 山东吉时兔互联网科技有限公司 花神(南京)互联网科技有限公司 杭州壁岐互联网科技有限公司 河南住房之家互联网科技 伊宁互联网科技做什么的 众安科技工业互联网合作 广州梦谷互联网科技有限公司领导 上海旺乐尼互联网科技有限公司 广州百单互联网科技有限公司 麻工互联网科技 广州互联网科技公司 北京互联网科技有限公司 撒么互联网科技公司 互联网科技宣传片 深圳卡尔迅互联网科技有限公司怎么样 哈尔滨新华互联网科技学院 广州互联网高科技取餐柜 中国新注册互联网科技
0