直方图均衡化
直方图均衡化是将一幅图像的灰度直方图变平,使变换后的图像中每个灰度值的分布概率都相同。并且可以增强图像的对比度。
灰度值的分布概率都相同
这句话的理解,并不是每个像素值的像素个数相同,比如:像素值为90的像素点有50个、为40的像素点有30个、为41的像素点有20个。这其中像素值40和41对人的肉眼来说没有多大区别的,我们只看结果图像,40的像素点有50个。
步骤
- 计算图像的灰度直方图
- 计算灰度直方图的累加直方图
- 根据累加直方图和直方图均衡化原理得到输入与输出之间的映射关系。
- 最后根据映射关系得到结果
原理
不管怎么改变像素值,总像素个数不会变。而且我们最理想的目标就是结果图像的每个像素点的个数是相等的。 h i s t o u t ( k ) ≈ H ∗ W 256 , k ∈ [ 0 , 255 ] hist_{out}(k) \approx \frac{H * W}{256} , k \in [0, 255] histout(k)≈256H∗W,k∈[0,255]
对于输入图像的任意一个像素 p , p ∈ [ 0 , 255 ] p, p \in [0, 255] p,p∈[0,255] 总能在输出图像里有对应的像素 q , q ∈ [ 0 , 255 ] q, q\in[0,255] q,q∈[0,255]使得下面等式成立
∑ k = 0 p h i s t i n p u t ( k ) = ∑ k = 0 q h i s t i o u t ( k ) \sum_{k=0}^{p} hist_{input}(k) = \sum_{k=0}^{q} hist_{iout}(k) k=0∑phistinput(k)=