第三章:空间域处理 1、 空间域处理是指在图像的像素上操作,主要分为灰度变换和空间滤波:灰度变换的主要目的是对比度处理和阀值处理;空间滤波的主要目的是改善图像的性能,如锐化图像; 2、 基本的灰度变换函数:图像反转、对数变换、伽马变换、分段线性变换; 3、 还有基于直方图的灰度变换:直方图的横坐标是灰度值,纵坐标是该灰度值的像素个数或者频率;直方图处理包括均衡、匹配、局部处理、局部增强等。 4、 空间滤波:通过用空间滤波器模板对一个邻域里的象素进行操作而得到新的像素,总体可以分为线性和非线性空间滤波。包括:用于模糊处理和降低噪声的平滑空间滤波(线性的平滑线性滤波和非线性的统计排序滤波)、用于突出灰度过渡部分的锐化空间滤波;而在图像改善如图像增强的实际应用中,往往将多种图像增强方法结合起来使用。 5、 使用模糊技术进行灰度变换和空间滤波,在某些情况下会得到很好的效果。 6、 和空间域对应的是频率域,下面是频率域滤波的学习情况。 |
-----------------------------------------------------------------------------------------------------------
空间域:简单的包含像素平面,空间与技术直接在图像像素上操作;
频率域:操作在图像的傅里叶变换上执行;
---------------------------------------------------------------------------------------------------
图像增强的主要方法
灰度变换 | 空间域滤波 |
根据问题,直接选择灰度变换函数s=T(r) ,实现图像增强。主要处理对比度、灰度动态范围等问题,r和s分别是输入图像f (x,y)和输出图像g (x,y)在任意点(x,y)的灰度级。
常用的变换函数有:
(1)线性函数(正比、反比、分段线性函数)
(2)对数函数
(3)幂律函数(n次幂和n次方根函数)
(4)其它特殊非线性函数
图像反转:
当输入图像的灰度级范围为[0, L-1] 的图像反转操作可由反比变换获得,表达式为:
s = L-1-r
用这种方式倒转图像的强度产生图像反转的对等图像。这种处理尤其适用于增强嵌入图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。
对数变换:
其中,c 是一个常数,且假定r>=0。对数变换常用于图像的动态范围压缩。与增强对比度相反,有时原图的动态范围太大,超出某些显示设备的允许动态范围,这时如直接使用原图,则一部分细节可能丢失。
幂率变换:
其中c和γ为正的常数。下图给出了g取不同值时的变换曲线。
分段线性变换函数:
对比拉伸:低对比度(照明不足、传感器动态范围小, 提高图像灰度级的动态范围,改善图像对比度。
拐点(r1, s1) 和(r2, s2)的位置控制了变换函数的形状,一般假定r1<=r2且s1<=s2 ,保证变换函数为单值单调增加。
目标: 突出图像中特定灰度范围的亮度.
应用:增强特征
方法一:将感兴趣范围内的所有灰度值显示为一个值,其他灰度值显示为另外一个值;
方法二:使感兴趣范围的灰度变亮(或暗),保持其他的灰度级不变
低阶比特平面共享更加精细的灰度细节,高阶比特包含了视觉上很重要的大多数数据。
灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像元的灰度值范围,以适当的灰度间隔为单位将其划分为若干等级,以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。如下图所示,做直方图的过程:
- 直方图的性质:
- 直方图反映了图像中的灰度分布规律。它描述每个灰度级具有的像元个数,但不包含这些像元在图像中的位置信息。
- 任何一幅特定的图像都有唯一的直方图与之对应,但不同的图像可以有相同的直方图。
- 如果一幅图像有两个不相连的区域组成,并且每个区域的直方图已知,则整幅图像的直方图是该两个区域的直方图之和
- 直方图的应用:
- 对于每幅图像都可做出其灰度直方图。
- 根据直方图的形态可以大致推断图像质量的好坏。由于图像包含有大量的像元,其像元灰度值的分布应符合概率统计分布规律。假定像元的灰度值是随机分布的,那么其直方图应该是正态分布。
- 图像的灰度值是离散变量,因此直方图表示的是离散的概率分布。若以各灰度级的像元数占总像元数的比例值为纵坐标轴做出图像的直方图,将直方图中各条形的最高点连成一条外轮廓线,纵坐标的比例值即为某灰度级出现的概率密度,轮廓线可近似看成图像相应的连续函数的概率分布曲线。
直方图均衡化是将原图像的直方图通过变换函数变为均匀的直方图,然后按均匀直方图修改原图像,从而获得一幅灰度分布均匀的新图像。
目的:增加像素灰度值的动态范围,增强图像整体对比度;
原理:
s=T(r), 0≤r≤1
T(r)满足下列两个条件:
(1)T(r)在区间0≤r≤1中为单值且单调递增;
(2)当0≤r≤1时,0≤T(r) ≤1;
条件(1)保证原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列次序;
条件(2)保证变换前后灰度值动态范围的一致性;
Pr(r)是r的概率密度函数,Ps(s)是s的概率密度函数,Pr(r)和T(r)已知,且T-1(s) 满足上述条件(1),所以有
已知一种重要的变换函数:
关于上限的定积分的导数就是该上限的积分值 (莱布尼茨准则)
其中rk 是第k个灰度级,k = 0,1,2,…,L-1.
nk是图像中灰度级为rk的像素个数.
n是图像中像素的总数.
已知变换函数的离散形式为:
sk称作直方图均衡化将输入图像中灰度级为rk(横坐标)的像素映射到输出图像中灰度级为sk (横坐标)的对应像素得到.
计算过程如下:
- 统计原图像每一灰度级的像元数和累积像元数。
- 按下图公式计算变换后的值
- 四舍五入得到新的灰度值
- 统计像元
下图所示:
直方图匹配和直方图均衡化类似,但直方图均衡试图使输出图像具有一个平坦的直方图(可以自动确定变换函数,),而直方图匹配是为了得到一个特定形状的直方图(试凑变换函数)。
难点:寻找T(r)和G-1的有意义的表达式。
案例:
对比:
之前:基于正整幅图像的灰度分布为基础设计变换函数。
问题:当需要图像中小区域的细节,全局变换没有必要保证期望局部增强,因此忽略了一些像素的影响!
方法:以图像中每个像素的领域中的灰度分布为基础设计变换函数,来增强小区域细节。
过程:定义一个领域,并把该区域的中心从一个像素移至另一个像素。(逐像素取邻域,应用直方图算法修改中心点像素值;)
直接从直方图获得的统计参数可用于图像增强。
用于增强目的的:
取样均值、取样方差:直接从取样值来估计,不必用直方图;
全局增强:
全局均值和方差在整幅图像上计算,用于整体调节全面灰度和对比度。
局部增强:
局部均值和局部方差根据图像中每个像素的领域内的图像特征进行改变的基础
空间滤波是一种采用滤波处理的图像增强方法。其理论基础是空间卷积和空间相关。目的是改善图像质量。空间滤波的模板被称为空间滤波器(空间掩模、核、模板、窗口)。
滤波是指信号有各种频率的成分,滤掉不想要的成分,即为滤掉常说的噪声,留下想要的成分,这既是滤波的过程和目的。
线性空间滤波与频域滤波之间存在着一一对应的关系。空间滤波可以提供相当多的功能,还可以用于非线性滤波,而这在频域中是做不到的。
空间滤波机理
在图像中的任意一点(x,y),滤波器的响应g(x,y)是滤波器系数与该滤波器包围的图像像素的乘积之和。一般来说,用大小为m * n的滤波器对大小为M * N的图像进行线性空间滤波,可由下式表示:
w是滤波器的系数,f是像素值。对于m * n的模板,我们假设m = 2a + 1,n = 2b + 1,a,b为正整数。
空间相关与卷积
相关:滤波器模板移过图像并计算每个位置乘积之和的处理。
卷积:处理过程类似,但滤波器首先要旋转180°。
卷积:
互相关:
eg。以下的例子解释了相关与卷积的处理过程。
相关 | 卷积 |
我们将只包含一个1其余全是0的函数称为离散单位冲激。
第一,相关是滤波器位移的函数。 一个函数与离散单位冲激相关,在该冲激位置产生这个函数的一个翻转的版本。
前面的概念很容易扩展到图像上。对于大小是m * n的滤波器,我们在图像的顶部和底部需要填充m - 1行0,在左侧和右侧填充n - 1列0. eg。假设滤波器的大小为3 * 3。
|
我们将只包含一个1其余全是0的函数称为离散单位冲激。
卷积的概念是线性系统理论的基石。 一个个函数与某个单位冲激卷积,得到的是在该冲激处的这个函数的拷贝。
前面的概念很容易扩展到图像上。对于大小是m * n的滤波器,我们在图像的顶部和底部需要填充m - 1行0,在左侧和右侧填充n - 1列0. eg。假设滤波器的大小为3 * 3。
其中等式右侧的减号表示翻转f(即旋转180°)。为简化符号表示,我们遵循惯例,翻转移位w而不是f。结果是一样的。
|
如果图像f包含一个与w完全相等的区域在图像的中心,当w位于f区域的中心时,相关函数(归一化后)的值将是最大的。如此看来,相关还可以用于寻找图像中的匹配。
使用相关或卷积执行空间滤波时优先选择的方法。事实上,无论是卷积还是相关,我们都可以通过简单的平移滤波器去执行其功能,重要的是在给定的滤波任务中,按对应于期望操作的方式来指定滤波器模板。
还有一点需要注意的是,在图像处理文献中,我们很可能会遇到卷积滤波器、卷积模板或卷积核这些术语。按照惯例,这些术语用来表示一种空间滤波器,并且滤波器未必用于真正的卷积。类似地,模板与图像卷积通常用于表示我们之前讨论得滑动乘积求和处理,而不必区分相关与卷积的差别。更合适的是,它通常用于表示两种操作之一。这一不太严密的术语是产生混淆的根源。
线性滤波的向量表示
当我们的兴趣在于相关或卷积的模板的响应特征R时,有时写成乘积的求和形式是方便的:
其中w项是一个大小为m * n的滤波器系数,z为由滤波器覆盖的相应图像的灰度值。
空间滤波器模板的产生
线性滤波器:生成m*n的滤波器要指定mn个模板系数(根据滤波器支持的操作确定)主要是实现乘积求和操作;
非线性滤波器:确定领域的大小和将对包含在领域内的图像像素执行的操作;
平滑空间滤波器是低频增强的空间滤波技术。它的目的是模糊处理和降低噪声。平滑处理也常称为模糊处理。是因为对于线性滤波器来说,一般高通是锐化,低通是模糊。
平滑线性滤波器
平滑线性空间滤波器的输出(响应)是包含在滤波器模板邻域内的像素的简单平均值(均值滤波器,且属于低通滤波器)
这种处理的结果降低了图像灰度的尖锐变化。由于典型的随机噪声由灰度级的急剧变化组成,因此常见的平滑处理的应用就是降噪。然而,由于图像边缘(几乎总是一幅图像希望有的特性)也是由图像灰度尖锐变化带来的特性,所以均值滤波器处理还是存在着不希望有的边缘模糊的负面效应。
下面这幅图中的是最为常见的简单平均的滤波器模板
所有系数都相等的空间均值滤波器,有时也被称为盒状滤波器 box。
这个滤波器模板相比于上一个更加重要。这个滤波器模板产生加权平均,使用这一术语是指,用不同的系数去乘以像素。即一些像素的重要性(权重)比另外一些像素的重要性更大。
在这个例子所示的模板中,中心位置的系数最大,因此在均值计算中可以为该像素提供更大的权重。其他像素离中心越近就赋予越大的权重。这种加权重的策略的目的是,在平滑处理中,试图降低模糊。
我们也可以选择其他权重来达到相同的目的。但是,这个例子中所有系数的和等于16,这对于计算机来说是一个很有吸引力的特性,因为它是2的整数次幂。
一幅M * N的图像经过一个m*n的加权均值滤波器,滤波的过程可由下式给出:
当图像的细节与滤波器模板近似相同时,图像中的一些细节受到的影响比较大。邻域越大平滑的效果越好。但是邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需要合理的选择邻域的大小。
模板的大小由那些即将融入背景中的物体R的尺寸来决定。滤波后的图像中可能会有黑边。这是由于我们用0(黑色)填充原图像的边界,经滤波后,再去除填充区域的结果,某些黑的混入了滤波后的图像。对于使用较大滤波器平滑的图像,这就成了问题。
统计排序(非线性)滤波器:
以滤波器包围的图像区域中所含的像素的排序(排队)为基础,然后使用统计排序结果决定的值取代中心像素的值。以中值滤波器为代表,比系统尺寸的线性平滑滤波器的模糊程度低,对脉冲噪声(椒盐噪声)非常有效。
锐化处理的主要目的是突出图像中的突出灰度的过渡部分,总的来说,微分算子的响应强度与图像在该点(应用了算子)的突变程度有关。这样一来,图像微分增强了边缘和其他突变(如噪声)并削弱了灰度变化缓慢的区域。
为了说明简单,主要集中讨论一阶微分的性质。我们最高兴去的微分性质是恒定灰度区域(平坦段)、突变的开头与结尾(阶梯和斜坡突变)及沿着灰度级斜坡处的特性。这些类型的突变可以用来对图像中的噪声点、细线与边缘模型化。
数字函数(图像,离散的数字序列)的微分定义条件:
一阶微分定义:
(1)在平坦段(灰度不变区域)微分值为零;
(2)在灰度阶梯或斜坡的起始点处微分值非零;
(3)沿着斜坡面微分值非零。
二阶微分的定义:
(1)在平坦区微分值必为零;
(2)在灰度阶梯或斜坡的起始点处微分值非零;
(3)沿着斜坡面微分值非零。
注意下图中二阶差分的零交叉点(Zero crossing),零交叉点对于边缘的定位非常有用。
由于图像边缘处的一阶微分是极值点,图像边缘处的二阶微分应为零,确定零点的位置要比确定极值点更容易,也更准确",我们发现交叉点就是边缘,而一阶微分中却没有这样的性质
二阶微分在增强细节方面比一阶微分好得多,这是一个适合锐化图像的理想特征。
最关注一种各向同性滤波器,这种滤波器的响应与滤波器作用的图像的突变方向无关。也就是说,各向同性滤波器是旋转不变的,即将原始图像旋转后进行滤波处理给出的结果与先对图像滤波,然后再旋转的结果相同。
最简单的各向同性微分算子是拉普拉斯算子,一个二元图像函数f(x,y)的拉普拉斯变换定义为:
因为任意阶微分都是线型操作,所以拉普拉斯变换也是一个线性操作。
考虑到有两个变量,因此,在x,y方向上对二阶偏微分采用以下定义:
因此二维拉普拉斯数字实现可由这两个分量相加得到:
这里关注系数矩阵即掩膜:
这个矩阵给出了在90度方向上旋转的各向同性结果,如果向得到45度方向上旋转的各向同性结果则,将中心对角点标为1,中心点为-8即可。
拉普拉斯是一种微分算子,强调图像中灰度的突变及降低灰度慢变化的区域。将原始图像和拉普拉斯图像叠加在一起的简单方法可以保护拉普拉斯锐化处理的效果,同时又能复原背景信息。我们使用拉普拉斯变换对图像增强的基本方法可表示为下式:
含有对角线信息的拉普拉斯算子
在印刷和出版界用了多年的图像锐化处理过程,从原图中减去一副非锐化(平滑后的)图像,达到锐化的目的。
非锐化掩蔽的步骤:
令 表示模糊图像,那么首先我们得到模板:
然后在原图像上加上该模板的一个权重部分:
上式中:
注意:如果k足够大的时候,负值将导致边缘周围有暗的晕轮,会产生不好的效果。
一个函数f在f(x,y)的梯度是定义为二维列向量(矢量,指出(x,y)处f的最大变化率的方向):
其中M(x,y)是与原图像大小相同的图像,该图像通常称为梯度图像。后面的表达式仍保留了灰度的变换,但丢失掉了其各向同性。
在3×3的区域图像中,应该是gx = (z8−z5) gy = (z9−z6);
Roberts算子,gx=(z9−z5),gy=(z8−z6);
由于偶数模板没有对称中心,所以与之前的卷积模板定义中,运算结果等会中心点位置值不能对应, 所以使用奇数的模板,例如3 * 3 的Soble算子,gx=(z7+2z8+z9)−(z1+2z2+z3),gy=(z3+2z6+z9)−(z1+2z4+z7)。
使用梯度进行边缘增强,可以用以突出灰度图像中看不见的小斑点,在下面的例子中甚至可以去除灰度不变或变换缓慢的图案阴影。
用Laplace突出图像中的小细节,然后使用梯度法突出边缘。平滑过得梯度图像用于掩蔽Laplace图像,最后使用灰度变换来增大图像的灰度动态范围。其中降低噪声可以使用中值滤波器或者使用原图像梯度操作的平滑形式形成的一个模板。
隶属度函数μ(z)【特征函数】:用以描述一个元素是否属于集合的模糊程度,若是一个阶跃函数,可以认为是一个我们所了解的"干脆的"集合,若是一个分段函数,则可以看做一个模糊集合:
模糊集合是一个有z值和(赋予z成员等级的)相应隶属度函数组成的序对,即A={z,μA(z)|z∈Z}
普通集合是模糊集合的一种,即μA(z)=0或1时;
一些集合定义:
其中隶属度函数是关键,表明了元素z到集合的一种对应关系。如果隶属度函数仅有0,1两个值,那么模糊集合退化为"干脆的"集合。下面这张图展示了模糊集合间的一些关系:
对应的隶属度函数:
基于规则的模糊逻辑应用主要步骤:
Eg:
对于一副灰度图像,描述它的某个区域"暗的"、"灰的"、"亮的"都是利用模糊的概念,那么我们将给予这三种情况定义三种模糊集合:
那么对于任何输入z0,输出v0为,但是图像的细节部分得到了比较好的保留,但代价是计算量大大增加。
基本方法:定义一个领域特性,该特性“截获”滤波器支持检测的本质;
Eg:基于模糊集合概念的边缘提取算法;
如果一个像素属于平滑区(这里用领域中心像素和领域像素间的灰度差),则令其为白色,否则令其为黑色(边缘像素区域),“黑色”和“白色”为模糊集合;