数字图像处理3之在图像增强中使用直方图统计

在图像增强中我们也可以使用直接从直方图中获得的统计参数。

1、平均值、方差的定义

令r表示在区间[0 , L-1]上代表离散灰度的离散随机变量,并且令p(r_{i})表示对应于r_{i}的归一化直方图分量,我们可以把p(r_{i})看做是灰度级r_{i}出现的概率估计值。

(1)r的均值定义为:m=\sum_{i=0}^{L-1}r_{i}p(r_{i})

(2)r关于其均值的n阶矩定义为:u_{n}(r)=\sum_{i=0}^{L-1}(r_{i}-m)^{n}p(r_{i})

其中当n=2(二阶矩)非常重要:u_{2}(r)=\sum_{i=0}^{L-1}(r_{i}-m)^{2}p(r_{i}),我们将该表达式称为灰度方差,通常用\sigma ^{2}(r)来表示。(标准差是方差的平方根)。

我们考虑均值和方差这两种增强应用。全局均值和方差是在整幅图像上计算的,这对于灰度和对比度的总体调整是有用的。对于这些参数的一种更有效的应用是局部增强,在局部增强中,局部均值和局部方差是根据图像中每个像素的领域内的图像特征进行改变的基础。

2、局部均值和局部方差

(x,y)表示图像中任意像素的坐标,令s_{xy}表示规定大小的以(x,y)为中心的邻域(子图像)。该邻域的平均值m_{s_{xy}}和灰度级方差\sigma ^{2}_{s_{xy}}可以用下列式子计算:

(1)m_{s_{xy}}=\sum_{i=0}^{L-1}r_{i}p_{s_{xy}}(r_{i})

表达式中p_{s_{xy}}是区域s_{xy}中像素的直方图,该直方图由L个分量,对应于输入图像中L个可能的灰度值。其中许多灰度值为0,具体取决于s_{xy}的大小。

扫描二维码关注公众号,回复: 3471587 查看本文章

(2)\sigma ^{2}_{s_{xy}}=\sum_{i=0}^{L-1}(r_{i} - m_{s_{xy}})^2 p_{s_{xy}}(r_{i})

和全局均值和全局方差相同,均布均值是对邻域s_{xy}中的平均灰度的度量,局部方差(或者标准差)是对邻域中灰度对比度的度量。

下面来看一道使用直方图统计的局部增强的例子。

下图(1)显示了一根绕在支架上的钨丝的SEM(扫描电子显微镜)图像。可以看到图像中央的支架很清楚并很容易分析;但是在图像的右侧即图像的暗侧,有一根钨丝的结构,但是由于太暗几乎看不到,其大小和特征也不容易辨认。

图(1):

在这种情况下,目前的问题是要增强暗色区域,同时尽可能使得明亮区域不变,因为明亮区域并不需要增强。

图(2)是使用全局直方图均衡化之后的结果:

图(2):

从全局直方图均衡化的结果图中可以看出,暗色区域有了一点点改善,但是也不是很容易分辨,同时明亮区域也发生了一些变化,这是我们不想看到的。

图(3)是使用局部直方图统计参数增强后的图像:

图(3):

从处理结果可以看到,暗色区域显示效果比之前好了很多,同时明亮区域被很好的保留了下来。

下面来看一下实现直方图统计的局部增强的过程:

(使用本节介绍的概念可以得到一种增强方法,这种方法能分辨暗色区域和明亮区域的不同,同时只增强暗色区域)

1、判断一个区域在点(x,y)处是暗还是亮的方法?

把局部平均灰度{\color{Red} m_{s_{xy}}}{\color{Red} m_{G}}并称之为全局均值的平均图像灰度进行比较:

如果{\color{Red} m_{s_{xy}}\leq k_{0}m_{G}},其中{\color{Red} k_{0}}是一个值小于1.0的正常数,我们将把点{\color{Red} (x,y)}处的像素考虑为处理的候选点。

2、因为我们感兴趣的是增强低对比度的区域,所以还需要一种度量方法来确定一个区域的对比度是不是可以作为增强的候选点。怎么来确定呢?

如果{\color{Red} \sigma _{s_{xy}}\leq k_{2}\sigma_{G}},则认为点{\color{Red} {\color{Red} }(x,y)}处的像素是增强的候选点,其中{\color{Red} \sigma_{G}}是全局标准差,{\color{Red} k_{2}}为正常数。(若我们的兴趣是增强亮区域,则该常数大于1.0,对于暗区域,则该常数小于1.0)。

但是,很明显\sigma_{G}不能无限的小下去呀!所以我们需要限制能够接受的最低对比度的值,否则上面的过程会试图去增强标准差为0的恒定区域。我们通过下列式子来进行限制:

要求\fn_cm {\color{Red} \sigma_{s_{xy}}\geq k_{1}\sigma_{G}}{\color{Red} k_{1} < k_{2}},通过这个式子可以对局部标准差设置一个较低的限制值。

找到了候选点之后,进行什么操作来实现增强的效果呢?

满足局部增强所有条件的一个位于点{\color{Red} (x,y)}处的像素,可以简单的通过将像素值乘以一个指定常数E来处理,以便相对于图像的其它部分增大(或减少)其灰度值。不满足增强条件的像素则保持不变。

用一个公式来表示这个过程的话,可以表示为如下的形式:

{\color{Red} f(x,y)}表示在图像任意坐标{\color{Red} {\color{Red} }(x,y)}处的像素值,令{\color{Red} g(x,y)}表示这些坐标处相应的增强的像素值,则有:

{\color{Red} g(x,y)= \left\{\begin{matrix} E*f(x,y), m_{s_{xy}}\leq k_{0}m_{G} \delta \delta k_{1}\sigma_{G}\leq \sigma_{s_{xy}}\leq k_{2}\sigma_{G} \\ f(x,y),else \end{matrix}\right.}

到这里,灰度变换的内容就暂时结束了。下一篇学习空间滤波的相关知识。

猜你喜欢

转载自blog.csdn.net/llfjcmx/article/details/81332846