- 变换公式
- 直方图均衡化推导
- 例子
- 直方图均衡化步骤
- 代码实现
- 直方图均衡应用
直方图均衡化在图像处理领域中运用非常广泛,而且非常简单易实现。
首先我们了解一下什么是图像的直方图:
请参考这篇博客:
直方图介绍
变换公式
灰度直方图抛弃了原灰度图像的空间位置信息,反映了某一像素值在灰度图中出现的频率或者概率信息。
应用场景:图像整体较暗,细节部分不够突出。
于是这里我们引入——直方图均衡化的方法,希望按照一定的变换公式,将原图映射到新图,使得新图在原图的基础上,直方图分布更加均匀,这样图像的明暗分布更加均匀,给人的视觉效果就是对比度好,细节清晰。
灰度变换后图像直方图是变换前直方图与变换函数导数之比
1.统计灰度级中每个像素在整幅图像中的个数
2.计算每个灰度级占图像中的概率分布
3.计算累积分布概率
4.计算均衡化之后的灰度值(累积分布概率x(最大灰度级-1))
5.映射回原来像素的坐标的像素值
代码实现import cv2
import matplotlib.pyplot as plt
import numpy as np
image1 = cv2.imread('./picture_files/1.png',0)
image_1 = cv2.equalizeHist(image1)
plt.figure()
plt.subplot(221)
plt.imshow(image1, cmap='gray')
plt.subplot(222)
plt.hist(image1.flatten(),256,width=1.5)
plt.subplot(223)
plt.imshow(image_1, cmap='gray')
plt.subplot(224)
plt.hist(image_1.flatten(),256,width=1.5)
plt.show()
直方图均衡应用
人脸识别预处理:



