一,直方图均衡化的图像原理
直方图均衡就是让照片的灰度分布拉宽,然后图像对比度变大则变的清晰。
方图均衡化方法的基本思想是对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减。从而达到清晰图像的目的。
![](https://img-blog.csdnimg.cn/img_convert/a9ed5331847e181244a322763f8a838a.webp?x-oss-process=image/format,png)
直方图.png
二,直方图均衡化的数学原理
直方图均衡化的目的是使得变换后的图像的直方图是均匀分布的,又因为概率密度是指变量落在某个区间的概率,而累积分布函数f(x)的导数就是概率密度函数。所以,当分布均匀时,就是使得概率密度能够保持为一个常数。有了这些分析,我们的目的就是想找到这样的一种变换函数,使得变换后图像直方图分布均匀(这里的直方图都用灰度级的个数除以总像素个数,进行归一化。)
关于概率密度和概率分布函数要是忘记了就自己找书看吧
![](https://img-blog.csdnimg.cn/img_convert/c5bf36e35578824acea9192d60b66a46.webp?x-oss-process=image/format,png)
概率密度和分布函数图.png
三,灰度图像直方图均衡化主要步骤:
计算每一个灰度级的概率
计算每一个灰度级的累计概率
计算映射表
将图像像素值通过映射表进行映射
四,数学推导
对于映射表其实就是概率变换函数。当我们用r的累积分布函数作为变换函数时,得到s的概率密度函数是1(也就是均匀的意思)
![](https://img-blog.csdnimg.cn/img_convert/ad4b1283206090b4cdf16613140e2aaf.webp?x-oss-process=image/format,png)
数学公式.png
五,opencv代码实现
equalizeHist(src_gray, dst);函数即可,处理后的灰度直方图效果如下
![](https://img-blog.csdnimg.cn/img_convert/3481f5bdebbf34771dcf63ccd9e7c7e4.webp?x-oss-process=image/format,png)
代码实现效果.png