数字图像处理 第3章-灰度变换与空间滤波

数字图像处理 第3章-灰度变换与空间滤波

术语空间域指图像平面本身,这类图像处理方法直接以图像中的像素操作为基础。这是相对于变换域中的图像处理而言的,变换域的图像处理首先把一幅图像变换到变换域,在变换域中进行处理,然后通过反变换把处理结果返回到空间域。空间域处理主要分为灰度变换和空间滤波两类。空间滤波涉及改善性能的操作,如通过图像中每一个像素的邻域处理来锐化图像。

3.1 背景知识

3.1.1 灰度变换和空间滤波基础

本节讨论的所有图像处理技术都是在空间域进行的。与频率域相反,空间域技术直接在图像像素上操作,例如,对于频率域来说,其操作在图像的傅里叶变换上执行,而不针对图像本身。某些图像处理任务在空间域中执行更容易或更有意义,而另一些任务则更适合使用其他方法。通常,空间域技术在计算上更有效,且在执行上需要较少的处理资源。
本章讨论的空间域处理可由下式3.1-1表示:
g ( x , y ) = T [ f ( x , y ) ] g(x,y)= T[f(x,y)] g(x,y)=T[f(x,y)]

其中 f(x,y)是输人图像,g(x,y)是处理后的图像,T是在点(x,y)的邻域上定义的关于f的一种算子。算子可应用于单幅图像或图像集合。例如,低噪声而对图像序列执行逐像素的求和操作。

下图中给出的处理由以下几步组成:邻域原点从一个像素向另一个像素移动,对邻域中的像素应用算子T并在该位置产生输出。这样,对于任意指定的位置(x,y)输出图像g在这些坐标处的值就等于对f中以(x,y)为原点的邻域应用算子T的结果。

例如,假设该邻域是大小为3x3的正方形,算子T定义为“计算该邻域的平均灰度”考虑图像中的任意位置,譬如(100,150)。假设该邻域的原点位于其中心处,则在该位置的结果g(100,150)是计算f(100,150)和它的8个邻点的和,再除以9(即由邻域包围的像素灰度的平均值)。然后,邻域的原点移动到下一个位置,并重复前面的过程,产生下一个输出图像g的值。

典型地,该处理从输入图像的左上角开始,以水平扫描的方式逐像素地处理,每次一行。当该邻域的原点位于图像的边界上时,部分邻域将位于图像的外部。此时,不是在用T做指定的计算时忽略外侧邻点,就是用0或其他指定的灰度值填充图像的边缘。被填充边界的厚度取决于邻域的大小。

在这里插入图片描述
刚刚描述的过程称为空间滤波,其中,邻域与预定义的操作一起称为空间滤波器(也称为空间掩模、核、模板或窗口)。在邻域中执行的操作类型决定了滤波处理的特性。

最小邻域的大小为1x1。在这种情况下,g仅取决于点(x,y)处的f值,而式3.1-1中的T则成为一个形如下式的灰度(也称为灰度级或映射)变换函数,下式为式3.1-2:
s = T ( r ) s=T(r) s=T(r)
其中,为表达方便,令r和s分别表示变量,即g和f在任意点(x,y)处的灰度。

3.2 一些基本的灰度变换函数

3.2.1 图像反转

使用下图所示的反转变换,可得到灰度级范围为[0,-1]的一幅图像的反转图像,该反转图像由下式给出
s = L − 1 − r s=L-1-r s=L1r
使用这种方式反转一幅图像的灰度级,可得到等效的照片底片。这种类型的处理特别适用于增强嵌入在一幅图像的暗区域中的白色或灰色细节,特别是当黑色面积在尺寸上占主导地位时。
在这里插入图片描述

3.2.2 对数变换

还是刚刚那张图,该图中的对数变换的通用形式为
s = c l o g ( 1 + r ) s=c log(1+r) s=clog(1+r)
其中c是一个常数,并假设r>0。图中对数曲线的形状表明,该变换将输人中范围较窄的低灰度值映射为输出中较宽范围的灰度值,相反地,对高的输入灰度值也是如此。我们使用这种类型的变换来扩展图像中的暗像素的值,同时压缩更高灰度级的值。反对数变换的作用与此相反。

3.2.3 幂律(伽马)变换

幂律变换的基本形式为

S = c r γ S=cr^γ S=crγ
其中c和γ为正常数。有时考虑到偏移量(即输入为0时的一个可度量输出),该式也写为
s = c ( r + ε ) γ 。 s=c(r+ε)^γ。 s=c(r+ε)γ

对于不同的γ值,s与r的关系曲线如图所示。
在这里插入图片描述

3.2.4 分段线性变换函数

对比度拉伸
最简单的分段线性函数之一是对比度拉伸变换。对比度拉伸是扩展图像灰度级动态范围的处理,因此,它可以跨越记录介质和显示装置的全部灰度范围。

灰度级分层
突出图像中特定灰度范围的亮度通常是重要的,其应用包括增强特征,如卫星图像中大量的水和X射线图像中的缺陷。

通常称之为灰度级分层的处理可以有许多方法实现,但是它们中的大多数是两种基本方法的变形:
一种方法是将感兴趣范围内的所有灰度值显示为一个值(譬如白色),而将其他灰度值显示为另一个值(譬如黑色)。如图所示,该变换产生了一幅二值图像。
在这里插入图片描述

第二种方法以下图所示的变换为基础,使感兴趣范围的灰度变亮(或变暗),而保持图像中的其他灰度级不变。
在这里插入图片描述
比特平面分层
像素是由比特组成的数字。例如,在256级灰度图像中,每个像素的灰度是由8比特(也就是1个字节)组成的。代替突出灰度级范围,我们可突出特定比特来为整个图像外观作出贡献。
如下两张图所示的那样,高比特的比特平面包含的关于图片的数据更多,可以从传统的二进制来理解,二进制位数越多,其能表示的数字就越多,联系到图像处理就说明能包含更多的图像数据。

在这里插入图片描述

在这里插入图片描述

3.3 直方图处理

直方图是多种空间域处理技术的基础。直方图操作可用于图像增强。

3.3.1 直方图均衡

参考链接:https://blog.csdn.net/j05073094/article/details/120251878

顾名思义,直方图均衡是将直方图的分布(概率密度)调整为均匀分布。

做完直方图均衡后,图像就会变得更加清晰。
在这里插入图片描述
一般直方图均衡有三个步骤:
1、统计图像的直方图, 归一化到[0,1]
2、计算映射函数
3、利用得到的映射函数, 对图像进行处理

3.3.2 直方图匹配(规定化)

如前所述,直方图均衡能自动地确定变换函数,该函数寻求产生有均匀直方图的输出图像。当需要自动增强时,这是一种好方法,因为由这种技术得到的结果可以预知,并且这种方法实现起来也很简单。但对于某些应用,采用均匀直方图的基本增强并不是最好的方法。特别地,有时我们希望处理后的图像具有规定的直方图形状可能更有用。这种用于产生处理后有特殊直方图的方法称为直方图匹配或直方图规定化

令s为一个有如下特性的随机变量(式3.3-10):
s = T ( r ) = ( L − 1 ) ∫ 0 r p r ( w ) d w s=T(r)=(L−1)∫ ^r_0p_ r(w)dw s=T(r)=(L1)0rpr(w)dw
接着,我们定义一个有如下特性的随机变量z(式3.3-11):
G ( z ) = ( L − 1 ) ∫ 0 z p z ( t ) d t = s G(z)=(L-1)∫ ^z_0p_z(t)dt=s G(z)=(L1)0zpz(t)dt=s
其中,t为积分假变量。
由这两个等式可得G(z)=T(r),因此z必须满足下列条件(式3.3-12):
z = G − 1 [ T ( r ) ] = G − 1 ( s ) z = G^{-1}[T(r)]= G^{-1}(s) z=G1[T(r)]=G1(s)
一旦由输入图像估计出 p(r),变换函数T(r)就可由式3.3-10得到。类似地,因为p(z)已知,变换函数G(z)可由式3.3-11得到。

上述表明,使用下列步骤,可由一幅给定图像得到一幅其灰度级具有指定概率密度函数的图像:

1、由输人图像得到 p(r),并由(式3.3-10)求得s的值
2、使用(式3.3-11)中指定的PDF(概率密度函数probability density function)求得变换函数 G(z)。
3、求得反变换函数z;因为z是由s得到的,所以该处理是s到z的映射,而后者正是我们期望的值。
4、首先用(式3.3-10)对输入图像进行均衡得到输出图像;该图像的像素值是s值。对均衡后的图像中具有 s值的每个像素执行反映射,得到输出图像中的相应像素。当所有的像素都处理完后,输出图像的PDF将等于指定的PDF。

3.3.3 局部直方图处理

前两节讨论的处理都是全局性的,虽然这种全局方法适用于整个图像的增强,但存在这样的情况,增强图像中小区域的细节也是需要的。

这些区域中,一些像素的影响在全局变换的计算中可能被忽略了,因为全局变换没有要保证期望的局部增强。局部直方图处理就是以图像中每个像素的邻域中的灰度分布为基础设计变换函数。

3.3.4 在图像增强中使用直方图统计

均值是平均灰度的度量,方差(或标准差)是图像对比度的度量。
在仅处理均值和方差时,实际上通常直接从取样值来估计它们,而不必计算直方图。近似地这些估计称为取样均值和取样方差。

3.4 空间滤波基础

空间滤波是图像处理领域应用广泛的主要工具之一。因此,我们应充分理解这些基本概念。滤波一词借用于频域处理,频率域处理是下一章的主题,在下一章中,“滤波”是指接受(通过)或拒绝一定的频率分量。

3.4.1 空间滤波机理

空间滤波器由(1)一个邻域(典型地是一个较小的矩形),(2)对该邻域包围的图像像素执行的预定义操作组成。

滤波产生一个新像素,新像素的坐标等于邻域中心的坐标,像素的值是滤波操作的结果。滤波器的中心访问输入图像中的每个像素,就生成了处理(滤波)后的图像。

如果在图像像素上执行的是线性操作,则该滤波器称为线性空间滤波器。否则,滤波器就称为非线性空间滤波器。

下图说明了使用3x3邻域的线性空间滤波的机理。
在这里插入图片描述
一般来说,使用大小为mxn的滤波器对大小为MxN的图像进行线性空间滤波,可由下式表示
g ( x , y ) = ∑ s = − a a ∑ t = − b b w ( s , t ) f ( x + s , y + t ) g(x,y)=∑^a_{s=-a}∑^b_{t=-b}w(s,t)f(x+s,y+t) g(x,y)=s=aat=bbw(s,t)f(x+s,y+t)

3.4.2 空间相关与卷积

在执行线性空间滤波时,必须清楚地理解两个相近的概念。一个是相关,另一个是卷积。
如前节描述的那样,相关是滤波器模板移过图像并计算每个位置乘积之和的处理。
卷积的机理与其相似,但滤波器首先要旋转180°。

一个大小为mxn的滤波器 w(x,y)与一幅图像 f(x,y)做相关操作,可表示为 w(x,y)☆f(x,y),它由上一节末尾列出的公式给出,为方便起见我们重写如下
w ( x , y ) ☆ f ( x , y ) = ∑ s = − a a ∑ t = − b b w ( s , t ) f ( x + s , y + t ) w(x,y)☆f(x,y)=∑^a_{s=-a}∑^b_{t=-b}w(s,t)f(x+s,y+t) w(x,y)f(x,y)=s=aat=bbw(s,t)f(x+s,y+t)
类似地, w(x,y)和f(x,y)的卷积表示为 w(x,y)★f(x,y),它由下式给出:
w ( x , y ) ★ f ( x , y ) = ∑ s = − a a ∑ t = − b b w ( s , t ) f ( x + s , y + t ) w(x,y)★f(x,y)=∑^a_{s=-a}∑^b_{t=-b}w(s,t)f(x+s,y+t) w(x,y)f(x,y)=s=aat=bbw(s,t)f(x+s,y+t)

3.4.3 线性滤波的向量表示

当我们的兴趣在于相关或卷积的模板的响应特性R时,有时写成乘积的求和形式是方便的:
R = w 1 z 1 + w 2 z 2 + ⋅ ⋅ ⋅ + w m n z m n = ∑ k = 1 m n w k z k = w T z R=w_1z_1+w_2z_2+···+w_{mn}z{mn}=∑^{mn}_{k=1}w_kz_k=w^Tz R=w1z1+w2z2+⋅⋅⋅+wmnzmn=k=1mnwkzk=wTz
其中w项是一个大小为mxn的滤波器的系数,z为由滤波器覆盖的相应图像的灰度值。

3.4.4 空间滤波器模板的产生

生成一个大小为mxn的线性空间滤波器要求指定m 个模板系数,这些系数是根据该滤波器支持什么样的操作来选择的,我们使用线性滤波所能做的所有事情是实现乘积求和操作

而产生非线性滤波器要求我们确定邻域的大小,以及将对包含在邻域内的图像像素执行的操作。

3.5 平滑空间滤波器

平滑滤波器用于模糊处理和降低噪声。模糊处理经常用于预处理任务中,例如在(大)目标提取之前去除图像中的一些琐碎细节,以及桥接直线或曲线的缝隙。通过线性滤波和非线性滤波模糊处理可以降低噪声。

3.5.1 平滑线性滤波器

平滑线性空间滤波器的输出(响应)是包含在滤波器模板邻域内的像素的简单平均值。这些滤波器有时也称为均值滤波器,也可以把它们归入低通滤波器

平滑滤波器的基本概念非常直观。它使用滤波器模板确定的邻域内像素的平均灰度值代替图像中每个像素的值,这种处理的结果降低了图像灰度的“尖锐”变化。

由于典型的随机噪声由灰度级的急剧变化组成,因此,常见的平滑处理应用就是降低噪声。

然而,由于图像边缘(几乎总是一幅图像希望有的特性)也是由图像灰度尖锐变化带来的特性,所以均值滤波处理还是存在着不希望有的边缘模糊的负面效应。

一幅MxN的图像经过一个大小为mxn(m 和n是奇数)的加权均值滤波器滤波的过程可由下式给出:
在这里插入图片描述

3.5.2 统计排序(非线性)滤波器

统计排序滤波器是一种非线性空间滤波器,这种滤波器的响应以滤波器包围的图像区域中所包含的像素的排序(排队)为基础,然后使用统计排序结果决定的值代替中心像素的值。这一类中最知名的滤波器是中值滤波器,正如其名暗示的那样,它是将像素邻域内灰度的中值(在中值计算中包括原像素值)代替该像素的值。中值滤波器的使用非常普遍,这是因为对于一定类型的随机噪声,它提供了一种优秀的去噪能力,而且比相同尺寸的线性平滑滤波器的模糊程度明显要低。中值滤波器对处理脉冲噪声非常有效,该种噪声也称为椒盐噪声,因为这种噪声是以黑白点的形式叠加在图像上的。

3.6 锐化空间滤波器

锐化处理的主要目的是突出灰度的过渡部分。图像锐化的用途多种多样,应用范围从电子印刷和医学成像到工业检测和军事系统的制导等。在上一节中,我们了解到,图像模糊可通过在空间域用像素邻域平均法实现。因为均值处理与积分类似,在逻辑上,我们可以得出锐化处理可由空间微分来实现这一结论。

3.6.1 基础

数字函数的微分可以用不同的术语定义。也有各种方法定义这些差别。
然而,对于一阶微分的任何定义都必须保证以下几点:
(1)在恒定灰度区域的微分值为零
(2)在灰度台阶或斜坡处微分值非零
(3)沿着斜坡的微分值非零。
对于一维函数f(x),其一阶微分的基本定义是差值:

∂ f ∂ x = f ( x + 1 ) − f ( x ) {∂f\over∂x}=f(x+1)−f(x) xf=f(x+1)f(x)

类似地,任何二阶微分的定义必须保证以下几点:
(1)在恒定区域微分值为零;
(2)在灰度台阶或斜坡的起点处微分值非零;
(3)沿着斜坡的微分值非零。
同理,二阶微分定义如下:
∂ 2 f ∂ x 2 = f ( x + 1 ) + f ( x − 1 ) − 2 f ( x ) {∂^2f\over∂x^2}=f(x+1)+f(x-1)-2f(x) x22f=f(x+1)+f(x1)2f(x)
因为我们处理的是数字量其值是有限的,故最大灰度级的变化也是有限的,并且变化发生的最短距离是在两相邻像素之间。

3.6.2 拉普拉斯算子

一个二维图像函数f(x,y)的拉普拉斯算子定义为:
▽ 2 f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 ▽^2f={∂^2f\over∂x^2}+{∂^2f\over∂y^2} 2f=x22f+y22f
因为任意阶微分都是线性操作,所以拉普拉斯变换也是一个线性算子。

为了以离散形式描述这一公式,我们必须支持第二个变量。在x方向上,我们有:
∂ 2 f ∂ x 2 = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) {∂^2f\over∂x^2}=f(x+1,y)+f(x−1,y)-2f(x,y) x22f=f(x+1,y)+f(x1,y)2f(x,y)
y方向上类似:
∂ 2 f ∂ y 2 = f ( x , y + 1 ) + f ( x , y − 1 ) − 2 f ( x , y ) {∂^2f\over∂y^2}=f(x,y+1)+f(x,y-1)-2f(x,y) y22f=f(x,y+1)+f(x,y1)2f(x,y)
代入得到:
▽ 2 f ( x , y ) = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) ▽^2f(x,y)={∂^2f\over∂x^2}+{∂^2f\over∂y^2}=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) 2f(x,y)=x22f+y22f=f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)4f(x,y)

我们使用拉普拉斯对图像增强的基本方法可表示为下式:
g ( x , y ) = f ( x , y ) + c [ ▽ 2 f ( x , y ) ] g(x, y)= f(x, y)+c[▽^2f(x, y)] g(x,y)=f(x,y)+c[2f(x,y)]
其中,/(x,y)和g(x,y)分别是输入图像和锐化后的图像。

如果使用图 3.37(a)或图 3.37(b)中的拉普拉斯滤波器,则常数c=-1,如果使用另外两个滤波器,则常数c=1。
在这里插入图片描述

3.6.3 非锐化隐蔽和高提升滤波

这个称为非锐化掩蔽的处理过程由下列步骤组成:
1、模糊原图像
2、从原图像中减去模糊图像(产生的差值图像称为模板)
3、将模板加到原图像上。

令F(x,y)表示模糊图像,非锐化掩蔽以公式形式描述如下。首先,我们得到模板:
g m a s k ( x , y ) = f ( x , y ) − F ( x , y ) g_{mask} (x,y)= f(x,y)-F(x,y) gmask(x,y)=f(x,y)F(x,y)
然后,在原图像上加上该模板的一个权重部分:
g ( x , y ) = f ( x , y ) + k ∗ g m a s k ( x , y ) g(x,y)= f(x,y)+k* g_{mask} (x,y) g(x,y)=f(x,y)+kgmask(x,y)
通常,我们会在上式中包含一个权重系数k(k≥0)。
当k=1时,我们得到上面定义的非锐化掩蔽
当k>1时,该处理称为高提升滤波
选择k<1则不强调非锐化模板的贡献

3.6.4 使用一阶微分对(非线性)图像锐化——梯度

对于函数f(x,y),f在坐标(x,y)处的梯度定义为二维列向量:
▽ f ≡ g r a d ( f ) ≡ [ g x g y ] = [ ∂ f ∂ x ∂ f ∂ y ] ▽f≡grad(f)≡ \begin{bmatrix} \begin{matrix} g_x \\g_y \\\end{matrix} \end{bmatrix}= \begin{bmatrix} \begin{matrix} {∂f\over∂x}\\ \\{∂f\over∂y} \\\end{matrix} \end{bmatrix} fgrad(f)[gxgy]= xfyf
该向量具有重要的几何特性,即它指出了在位置(x,y)处f的最大变化率的方向。(高数基础)

3.7 混合空间增强法

通常,为了达到令人满意的结果,对给定的任务需要应用多种互补的图像增强技术。

3.8 使用模糊技术进行灰度变换和空间滤波

3.8.1 使用模糊集合进行灰度变换

考虑对比度增强这样的一般问题,这是灰度变换的主要应用之一。我们可以用如下规则说明灰度级图像对比度增强的过程:
IF 一个像素是暗的,THEN 使它较暗。
IF一个像素是灰的,THEN 使它仍是灰的。
IF一个像素是亮的,THEN 使它较亮。
记住,它们是模糊项,我们可以用下图中的隶属度函数来表示暗、灰和亮这些概念。
在这里插入图片描述

实例

图 3.45(a)显示了一幅图像,由于该图像的灰度只占灰度级很窄的范围[见图3.55(a)中的直方图],给出的是一幅低对比度外观的图像。作为对比的基础,图3.54(b)是直方图均衡后的结果。正如该结果的直方图显示的那样[见图 3.55(b)],扩展整个灰度级的确增加了对比度,但在高端和低端引人了使图像“过度感光”的外观。例如,爱因斯坦教授的前额和头发的细节大部分都缺失了。图 3.54(c)显示了使用前几段讨论的基于规则的对比度修改方法的结果。图3.55©显示了所用的看加在原图像的直方图上的输人隶属度函数。输出单一值选择为:vd=0(黑),vg=127(中间灰度)和vb=255(白)。
在这里插入图片描述
比较图 3.54(b)和图3.54(c),我们看到后者在色调上有相当大的改进。例如,注意前额和头发中的细节与图 3.54(b)中相同区域的对比。通过研究示于图3.55(d)的 3.54(c)的直方图可很容易地解释这种改进的原因。不像均衡过的图像的直方图那样,该直方图保留了原图像直方图的相同的基本特征。然而,暗级别(直方图低端的几个高峰值)的左移很明显,从而暗化了级别。对于亮级别则相反。中间灰度稍微地分离了,比直方图均衡化小了很多。
在这里插入图片描述

3.8.2 使用模糊集合进行空间滤波

当把模糊集合用于空间滤波时,基本方法是定义一个邻域特性,该特性“截获”滤波器支持检测的本质。例如,考虑检测一幅图像中区域间的边缘。这在图像处理的应用中是很重要的。

参考书籍:数字图像处理(第三版)冈萨雷斯

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值