OpenCV 直方图均衡化

直方图均衡化介绍

图像的直方图是什么?

图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。是图像的统计学特征。

简单来说:直方图是图像中像素强度分布的图形表达方式,它统计了每一个强度值所具有的像素个数

例如下面这张图片,左图为灰度图,右图统计了这张图的所有像素值(0~255)对应的像素个数
在这里插入图片描述

更形象解释

更形象的来说,将下面像素格子对等为如上图的图像

假设有该图像数据8x8,像素值范围0~14共15个灰度等级,统计得到各个等级出现次数及直方图如下图所示:
在这里插入图片描述
则对上面抽象出来的图像(像素格子)进行像素与出现次数的统计得到下图左侧的表格,做出频率图如右图所示:
在这里插入图片描述

什么是直方图均衡化?

是一种提高图像对比度的方法,拉伸图像灰度值范围。

简单来说, 以上面狗狗的的直方图为例, 你可以看到像素主要集中在中间的一些强度值上。直方图均衡化要做的就是 拉伸 这个范围。就是下面蓝框框出来的范围就是像素主要几种区间。
在这里插入图片描述

见下图:绿圈 圈出了 像素分布率较低像素值,对其应用均衡化后(将中间蓝框像素分布较高的区间拉伸), 得到了中间图所示的直方图。均衡化的图像见下面右图.
在这里插入图片描述

直方图均衡化是如何实现的?

通过remap我们知道可以将图像灰度分布从一个分布映射到另外一个分布,然后在得到映射后的像素值即可。

映射关系如下:
在这里插入图片描述
其中源直方图 H(i), 累积分布 H(i)函数,equalized()为重映射后的图像

直方图均衡化的作用

因为直方图均衡化处理之后,原来比较少像素的灰度会被分配到别的灰度去,像素相对集中, 处理后灰度范围变大,对比度变大,清晰度变大,所以能有效增强图像

直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

总的来说,直方图均衡化是用来增强对比度的

直方图均衡化步骤

  1. 加载源图像
  2. 转为灰度图
  3. EqualizeHist 对直方图均衡化
  4. 显示均衡化后图像.

相关API

equalizeHist

cv::equalizeHist(
	InputArray src,	// 输入图像,必须是8-bit的单通道图像
	OutputArray dst	// 输出结果
)

代码示例

灰度图均值化

在这里插入图片描述

#
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

呆萌宝儿姐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值