局部增强常用于一些要求特定增强效果的场合:
(1)局部增强可借助将图像分成子图像(一般奇x奇)再对每个子图像具体增强。
直方图变换是空域增强中最常采用的方法,它也很容易用于图像的局部增强。只需先将图像分成一系列(一般互相不重叠)小区域(子图像),此时直方图均衡化或规定化都可以基于小区域内的像素分布进行,从而使各小区域得到不同的增强效果。(对每个小区域进行全局增强)
(2)也可在对整幅图增强时直接利用局部信息以达到不同局部不同增强的目的。
1、和
分别是以像素
为中心的邻域内的灰度均值和均方差值(标准差、是一个反差(对比的差异程度)的测度)。
2、M是的平均灰度值(即整幅图像的平均灰度,是一个平均亮度的测度)。
3、A(x, y)是一个放大倍数,k是一个比例常数。
4、减去
是原始图与平均灰度的差异,然后将“差异”放大,最后将
加回去是为了恢复原区域的平均灰度值。
5、其中
越大的地方,灰度变化就越大,放大倍数越小;
越小的地方,越平滑,增强效果放大。使得不同的地方采用不同的放大倍数,以像素为中心,与局部特征有关。(因为A(x, y)反比与均方差,所以在图像中对比度较小的区域得到的增益反而增大,这样就可以取得局部增强的效果。)
直方图均衡化的作用是图像增强。这种方法对于背景和前景都太亮或者太暗的图像非常有用
有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布。
第一个问题。均衡化过程中,必须要保证两个条件:①像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;②如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数。
第二个问题。累积分布函数具有一些好的性质,那么如何运用累积分布函数使得直方图均衡化?比较概率分布函数和累积分布函数,前者的二维图像是参差不齐的,后者是单调递增的。直方图均衡化过程中,映射方法是
其中,n是图像中像素的总和,是当前灰度级的像素个数,L是图像中可能的灰度级总数。
来看看通过上述公式怎样实现的拉伸。假设有如下图像:
得图像的统计信息如下图所示,并根据统计信息完成灰度值映射:
映射后的图像如下所示: