首先什么是直方图?
直方图:某一灰度级像素出现的次数(多数情况下进行了归一化,以概率的形式表示)。记作
或
的形式。
性质:无像素空间信息(导致多个图像可能对应一个直方图),一个图像的直方图,可以由多个子图像的直方图叠加而成
直方图均衡:
直方图修正:
通过灰度映射函数,将原灰度直方图改造成所希望的直方图。
s=T(r)
单调递增:防止黑白反转。
目标:找到一个变换函数,T使得变换后的直方图是均匀的。
数学推导:
1.连续情况下:
,目标是找到这样一个变换T,其中s是处理后的像素灰度级,r是处理前的像素灰度级数,p(r)可以理解为灰度级为r的像素的概率或个数。
第一个积分可以理解为灰度级从0到r的像素的总概率,第二个积分为灰度级从0到s的像素的总概率。因为r到s 的映射是单射的关系,所以灰度级做归一化处理的情况下,要想实现均匀分布就有
就得出这样的变换
可以把r映射到满足情况s上。
2.推广到离散情况时:
积分就变成了累加的形式:
,s为归一化后处理后的灰度级,n为像素总个数,nk为灰度级为k的像素的个数。(如果不是从连续情况推广过来的规律,我个人理解是,把原来小范围大量存在的灰度级,以概率累加或者理解为累积分布的形式把直方图分散到整体)
上栗子!!!!
直方图均衡造成的后果:
多个灰度等级可能均衡为一个灰度等级,导致会出现连续的灰度等级变得不连续, 出现伪轮廓。
直方图匹配(人为规定)
按照直方图均衡的话,我们想要的结果是均衡后,所有像素灰度级均匀分布,我们最常用的8bit图片的话,也就是理想的结果是0-255的灰度级个数都一样,表现为直方图等高,这仅仅是计算机想要的结果。显然很多情况下就是需要明暗对比很强的图片效果,所以我们还是希望的到适合人们眼睛的效果。
也就是说直方图均衡可以理解为直方图匹配的特例。
以上仅仅为个人学习笔记记录,如有错误承蒙指正!