直方图均衡化的基本思想是:把原图像的灰度级r通过一个函数T(r)进行变化到另一个灰度级s,s=T(r) ,通过这种映射后使前景和背景能够区分开(有些图片背景前景都很暗或者都很亮),当然对T(r)有一些必要的规定:
第一无论怎么变换,一定要保证原来的大小关系不变,不能出现较亮的区域变成较暗的区域,较暗的区域变成较亮的区域,只是对比度增大,绝对不能明暗颠倒;
第二如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数。
问题是累积分布函数怎么就能使变换后的灰度级s的概率密度函数为均匀地概率密度函数呢(即对图像的像素点的灰度级映射后的图像的直方图是均匀的)?
这个过程可以通过简单的公式推导:
S为变换后的r经过T(r)变换后的变量,P(r)和P(S)分别为对应的概率密度函数,由于P(S)和P(r)从0到L-1的积分相等都为1,所以有上式。
S的最大范围为L-1,从0到r积分的范围0~1。 <