图像锐化
本应说是 DIP 的期中作业,但作为一个作死的人,还是顺便整理一下想说的内容吧。
图像锐化的目的
这里引用书本的原话,“锐化处理的主要目的是突出灰色的过度部分”。因此,在我们需要突出图像边缘的时候,就可以使用图像锐化。在空间域中,若我们将图像看作一个二维的离散函数,则边界处就是函数值突变的点,而对于函数值的变化率,我们可以用导数来描述,所以图像锐化的操作,在空间域中可以由空间微分来实现;而在频率域中,根据傅里叶变换的原理,高频部分与图像中的尖锐过渡相关,所以在频率域中,我们可以筛选高频部分来凸显边界,即使用高通滤波器。
空间域锐化
拉普拉斯算子
我们将图像视作二维的离散函数f(x,y),考虑到一阶微分的性质,在对f(x,y)进行一阶微分运算之后将会得到一个宽幅的边界带,而对其作二阶微分运算之后,所得的将是由零分隔的两个 1 像素宽的边界带。因此,在实际操作中,我们可以认为二阶微分会更加符合我们对图像锐化的要求。
根据上述,对f(x,y)求二阶微分有如下形式:
∇2f=∂x2∂2f+∂y2∂2f
这也就是最简单的同性微分算子,也就是拉普拉斯算子。
将其离散化后可得,
∂x2∂2f=f(x+1,y)+f(x−1,y)−2f(x,y)
∂y2∂2f=f(x,y+1)+f(x,y−1)−2f(x,y)
∇2f=f(x+1,y)+f(x−1,y)+f(x,y+1)+fx,(y−1)−4f(x,y)
该算子可由以下滤波器模板表示:
⎣⎢⎡0−10−14−10−10⎦⎥⎤
在实际应用中,我们也可以将微分方向拓展到对角线上,即有如下滤波器模板形式:
⎣⎢⎡−1−1−1−18−1−1−1−1⎦⎥⎤
考虑到在提取图像边缘之后还需将提取后的边缘叠加到原图像才能实现锐化效果,因此滤波器模板也有正负符号之分。
Sobel 算子
在拉普拉斯算子中,我们提到该算子是一种同性微分算子,也就是说该算子的作用效果与图像发生突变的方向无关。事实上,根据滤波器模板我们也可以很容易的看出,该算子是完全对称的。而在实际应用中,我们还会使用一些带有方向性的锐化算子,例如 Sobel 算子。
Sobel 是一阶微分锐化算子,其中关于f(x,y)是通过梯度幅值来实现的,最终所得的滤波器模板如下:
Sx=⎣⎢⎡−101−202−101⎦⎥⎤
Sy=⎣⎢⎡−1−2−1000121⎦⎥⎤
单从滤波器模板上进行分析,我们可以发现 Sobel 滤波器其实是由两个滤波器合成的:
⎣⎢⎡−1−2−1000121⎦⎥⎤=⎣⎢⎡000121000⎦⎥⎤⎣⎢⎡0−10000010⎦⎥⎤
其中⎣⎢⎡000121000⎦⎥⎤为加权算术平均,说明 Sobel 算子具有一定的平滑效果,⎣⎢⎡0−10000010⎦⎥⎤为中心二次微分,说明 Sobel 算子能够提取图像的边缘。
因此,Sobel 也可以用于锐化图像,且对图像突变方向敏感,在所需处理的图像具有明显方向特征时,Sobel 算子可以得到比拉普拉斯算子更好的效果。