机器视觉技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.5 模糊图像的清晰化处理

图像是一种非常有用的信息源,所以要求它是清晰的图像。清晰图像是指对象物体的亮度和色彩的细微差别清清楚楚地被拍摄下来的图像,可是通过摄像机所得到图像并不一定是清晰的。例如,黑暗中拍摄的动物或者草丛中拍摄的蝗虫,目标物融入了具有相似亮度或者色彩的背景之中,这样的图像就难以分辨了。即使这样的图像,对动物、蝗虫与背景之间在色彩和亮度上的微小的差进行增幅,使背景中的动物和蝗虫的姿态显现出来也是可能的。像这样对图像中包含的亮度和色彩等信息进行增幅,或者将这些信息变换成其他形式的信息等,通过各种手段来获得清晰图像的方法被称为图像增强(image enhancement)。而图像的增强,根据增强的信息不同,有边缘增强、灰度增强、色彩的饱和度增强等方法。以下介绍几种可以用来增强图像的方法。

5.5.1 对比度增强[1]

画面的明亮部分与阴暗部分的灰度的比值称为对比度(contrast)。对比度高的图像中被照物体的轮廓分明可见,为清晰图像;相反,对比度低的图像中物体轮廓模糊,为不清晰图像。例如,当看见一张很久以前留下的照片时,会发现它整个发白,并且黑白很难分辨清楚。对这种对比度低的图像,能够采用使其白的部分更白、黑的部分更黑的变换,即对比度增强(contrast enhancement),从而得到清晰图像。

下面来说明一下对比度增强的方法。

请看图5.8,整个图像很暗,查看一下灰度直方图(图5.9),发现图像的灰度值都过于集中在灰度区域的低端。那么,如何对这样的图像进行处理使其变为清晰图像呢?只要把过于集中的灰度值分散,使背景与对象物之间的差扩大即可。一种处理方法是把图像中的像素的灰度值都扩大n倍,即:

gxy)=nfxy)   (5.3)

在原始图像的位置(xy)处的图像灰度值fxy)乘以n,处理图像在(xy)的灰度值就变为gxy)。因为图像数据范围是0~255,所以如果计算的结果超过255,将其设定为255,即把255作为限定的最大值。

图5.10是对于图5.8的图像改变n值(2~5)的处理结果。随着n值的增大,图像变得越来越亮,也越来越清晰了。可是,当n值过大,图像整体变得白亮,反而难于分辨了。对这个图像来说,可以看出n=3时图像最为清晰,查

图5.8 原始图像

图5.9 灰度直方图

图5.10 图像的灰度值扩大n倍后的结果

看其灰度直方图(图5.11)可知,当灰度值扩大3倍后,灰度分布几乎遍布0~255的整个区域,这样,图像的明暗分明,增强了其对比度。因此,可以顺次增加倍数n来寻求最佳值,以便得到清晰图像。那么,有没有通过对原始图像进行自动分析,实现自动增强对比度的方法呢?

图5.11 当n=3时的灰度直方图

5.5.2 自动对比度增强[1]

从上一节所得的结果可知,原始图像的灰度范围能够充满所允许的整个灰度范围的话,就可自动得到清晰图像。

对于灰度直方图,可以用式(5.4)将其范围从图5.12左侧所示的[ab]变换到右侧所示的[a'b']。

   (5.4)   

图5.12 灰度直方图的拉伸

根据这个式子就可以把任意像素的灰度zazb)变换成灰度z'。这个变换形式用灰度变换曲线来表现更易于理解。灰度变换曲线是用变换前的图像灰度值作为横坐标、变换后的灰度值作为纵坐标来表现的。式(5.4)的灰度变换曲线如图5.13所示。从这幅图可以看出,变换前的图像灰度的最小值a和最大值b分别被变换为a'b',任意值z被变换为z'。那么,如果式(5.4)中的变量ab是原始图像的灰度值的最小值和最大值,变量a'b'分别为内存所处理的灰度的最小值(0)和最大值(255),那么将自动得到从原始图像到对比度增强的图像。图5.14为处理结果。图5.15为其灰度直方图,可见灰度值遍布了0~255的全部范围。图5.15与图5.8相比,对比度获得了增强,图像层次清晰分明。

图5.13 灰度变换曲线

图5.14 灰度变换结果

图5.15 灰度直方图

然而,对于图5.16所示的原始图像,苹果和枝叶比较暗。对比度增强后的结果被显示在图5.17。这个结果与原始图像相比,发现几乎丝毫没有变得清晰,为什么呢?让我们查看一下它的原始图像的灰度直方图。如图5.18所示,在它的灰度直方图上,虽然中间的大部分区域像素点很少,但是它的低端和高端分别存在着像素数相当多的灰度级,这样灰度直方图无法拉伸,当然也就无法进行对比度增强。

图5.16 原始图像

图5.17 灰度变换结果

图5.18 灰度直方图

对于这种情况,图像对比度增强的方法有以下两种。

一种方法是将像素数少的灰度级压缩,仅取出要增强部分的灰度值范围,进行灰度范围变换(gray-scale transformation或gray-level transformation)。也就是在式(5.4)中不是把ab作为灰度的最小值和最大值,而是把要增强的部分作为最小值和最大值。

另一种方法是将灰度直方图上的所有灰度变换成像素数相同的分布形式,这种方法被称为灰度直方图均衡化(histogram equalization)。

前一种方法需要知道要增强部分的灰度范围,而后一种方法不需要查看灰度范围就可以进行对比度增强。下面对直方图均衡化进行详细说明。

5.5.3 直方图均衡化[1]

直方图均衡化是采取压缩原始图像中像素数较少的部分,拉伸像素数较多的部分的处理。如果在某一灰度范围内像素比较集中,因为被拉伸的部分的像素相对于被压缩的部分要多,从而整个图像的对比度获得增强,图像变得清晰。

下面用一个简单的例子来说明一下直方图均衡化算法。灰度为0~7的各个灰度级(gray level)所对应的像素数如图5.19所示。均衡化后,每个灰度级所分配的像素数应该是总像素数除以总灰度级,即40÷8=5。从原始图像的灰度值大的像素开始,每次取5个像素,从7开始重新进行分配。对于图5.19所示图像,给灰度级7分配原始图像中的灰度级7、6的全部像素和灰度级5的9个像素中的1个像素。从灰度级5的像素中选取1个像素有如下两种算法:

①随机选取。

②从周围像素的平均灰度的较大的像素中顺次选取。

算法②比算法①稍微复杂一些,但是算法②所得结果的噪声比算法①少。

在此选用算法②。接下来的灰度级从原始图像的灰度级5剩下的8个像素中用前面的方法选取5个,作为灰度级6的像素数。依此类推,对所有像素重新进行灰度级分配。

图5.19 灰度直方图均衡化

图5.20和图5.21是利用这个方法分别对图5.8和图5.16进行直方图均衡化的结果。可见,两个例子都表明直方图均衡化对改善对比度是相当有效的。

图5.20 对图5.8的灰度直方图均衡化结果

图5.21 对图5.16的灰度直方图均衡化结果

5.5.4 暗通道先验法去雾处理[2]

除了光线暗会引起图像模糊之外,还有一种图像模糊的原因是环境中雾霾的影响。雾霾天气对数字图像画质的影响主要是因为光线在悬浮粒子作用下会有散射现象,使得目标对象反射的光线发生衰减。去雾技术的基本原理可以分为图像增强式去雾和反演式去雾。上节介绍的直方图均衡化属于图像增强算法,广泛用于雾化图像的清晰化。另一种方法是根据雾化图像退化的物理原理建立数学模型,用数学推导的方式还原出未雾化的图像。本节介绍的暗通道先验方法属于这种类型。

(1)雾化图像的退化模型

如果用I表示在有雾霾的天气下视觉系统得到的图像,J表示我们期望的图像,也就是没有雾霾的清晰图像,那么这两个图像之间的差值就是退化图像,而退化图像和大气光以及空气(或者直接可以理解为雾霾)的透射率有关。记大气光系数为A、空气的透射率系数为t,则可以得到如下的数学模型

I=Jt+A(1-t)   (5.5)

在此模型中,Jt是期望图像乘以透射率系数,属于图像的直接衰减;A(1-t)则属于图像中的大气光成分。去雾的目标就是从I中复原J

图5.22是一幅清晰图像和雾化图像及其直方图,其中,图(a)是清晰图像的状况,图(b)是有雾霾环境的状况。可以看出,雾化图像RGB的像素值分布范围较窄,因为图像发白色,其直方图分布集中在右边。清晰图像的RGB值分布比较均匀且基本上居中,对比度好。

(2)图像暗通道先验去雾方法

暗通道先验是基于大量无雾霾图像的一种统计规律,即除去天空等持续高亮度区域外,绝大多数局部的图像区域都能找到一个具有很小的像素值的颜色通道,这个最小的像素值就是暗像素,拥有这个暗像素的通道叫暗通道。大多数的无雾霾图像,其暗通道的强度值都非常小,甚至趋近于零。这个统计规律就是暗通道先验(dark channel prior,DCP)。像素值代表传感器感光的强度,若定义这个最小值为Jx),x表示这个小方块区域的中心,则Jx)可以表述为:

   (5.6)   

Ωx)表示以x为中心的一块邻域区域,c表示R、G、B三个通道,Jcy)表示遍历Ωx)三个通道的所有像素值。

图5.22 清晰图和雾霾图像及其直方图

去雾霾的目标就是从I中复原J,那么对式(5.5)进行变换,得式(5.7)

   (5.7)   

这个方程中I是我们现有的待去雾霾图像,J是要恢复的无雾霾图像。这个方程有tA两个未知量,如果没有进一步的信息输入,此方程无法解出。但是,如果把暗通道先验知识加进来就可以把其演变为可解的方程。先假定A为已知,在式(5.5)的基础上分别除以A,得到

   (5.8)   

把颜色通道一起表示到式(5.8)中,得到式(5.9)。

   (5.9)   

上标c表示R、G、B三个通道。tx)为每一个窗口内的透射率系数。对式(5.9)两边求两次最小值运算,得到下式:

   (5.10)   

式(5.10)是式(5.8)加上通道和区域后的表述,其中Ωx)表示以x为中心的小区域,一般设定为15×15像素。结合式(5.6),可以得到式(5.11)。

   (5.11)   

把式(5.11)带入式(5.10)中,得到:

   (5.12)   

以上推导中,假设大气光系数A值是已知的,实际运算时,A值取得方法是从暗通道图中按照亮度的大小取前0.1%的像素点位置,在原始有雾霾图像I中寻找这些位置对应的数量最多像素值作为A值。由A值用式(5.12)得到t值,再由式(5.7)得到期望图像J

针对图5.22的苹果图像,在计算大气光系数A值时,强调红色通道,计算整幅图像的暗通道,取前0.1%亮度区域,在这些像素中对应在原始有雾图像的像素点,将这些像素点的红色通道最大数量亮度值作为A值。按照此方法计算得到图5.22(b)有雾霾图像的大气光系数A为251。