有一些图像对比度不高,灰度集中在一个很小的范围内,动态范围较低,这时,直方图均衡化的方法可以使图像的灰度较为均衡化。对比度能够得到一定程度的增强。
   对于离散的灰度级来说,变换后的图像的灰度其实是变换前图像灰度的密度函数的累积和。这里灰度都预先归一化到范围[0,1]内。因为密度函数的累计和是一个递增的函数且最后的值为1,所以变换前图像的灰度就被映射到了[0,1]内,图像的灰度分布范围就被扩大了。
    在matlab中,函数histeq(f,nlev)可以实现直方图均衡化。
    因为直方图均衡化变换函数是归一化直方图取值的累加。也可以使用函数cumsum来实现变换功能。
    h = imhist(f)./numel(f);
    cdf = cumsum(f);
    cdf中的值就是映射后的值。