数字图像处理 Ch3 锐化(高通)空间滤波器
锐化(高通)空间滤波器1. 一阶导数和二阶导数2. 利用二阶导数锐化图像 —— 拉普拉斯3. 钝化掩蔽和高提升滤波4. 使用一阶导数锐化图像 —— 梯度锐化(高通)空间滤波器
高通 低通 都是指频率域处理的术语。高通即通过高频,并且衰减或者抑制低频。
1. 一阶导数和二阶导数
之后讲的锐化滤波器基于一阶导数和二阶导数的,所以普及一下基础概念。
一维函数f(x)f(x)f(x)的一阶导数的基本定义是差分 ∂f∂x=f(x+1)−f(x)\frac {\partial f} {\partial x} = f(x+1)-f(x) ∂x∂f=f(x+1)−f(x)而其二阶导数我们定义为∂2f∂x2=f(x+1)+f(x−1)−2f(x)\frac {\partial^2 f} {\partial x^2} = f(x+1) + f(x-1) - 2f(x)∂x2∂2f=f(x+1)+f(x−1)−2f(x)
(这两个定义是满足了一系列要求的,具体就不在这里写了)
数字图像的边缘在灰度上一般类似于斜坡过度。按照以上两个定义,一阶导数会在数字图像中的边缘上产生较宽的边缘,而另一方面,二阶导数会产生宽度为1像素并且由零分隔的双边缘。因此,与实现一阶导数相比,实现二阶导数运算量更少,可增强更精细的细节,是适合于锐化图像的一个特性。
2. 利用二阶导数锐化图像 —— 拉普拉斯
最简单的各向同性导数算子是拉普拉斯,定义为∇2f=∂2f∂x2+∂2f∂y2\nabla ^2f= \frac {\partial^2 f} {\partial x^2} + \frac {\partial^2 f} {\partial y^2}∇2f=∂x2∂2f+∂y2∂2f
套入上面所说的二阶导数 ∇2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x)\nabla ^2f(x,y) = f(x+1, y) + f(x-1,y) + f(x, y+1) + f(x, y-1) - 4f(x)∇2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x) 发现可以用核进行卷积运算来实现。并且可以将对角方向整合到拉普拉斯核的定义当中。
拉普拉斯是导数算子,会突出图像中的急剧灰度过渡,并且不强调缓慢变化的灰度区域。往往会产生具有灰色边缘线和其他不连续性的图像。将拉普拉斯与原图像相加,就可以“恢复”背景特征,同时保留拉普拉斯的锐化效果。综上,我们使用拉普拉斯锐化图像的基本方法为 g(x,y)=f(x,y)+c[∇2f(x,y)]g(x, y) = f(x,y) + c[\nabla ^2f(x,y)]g(x,y)=f(x,y)+c[∇2f(x,y)]
这里的ccc可以为1 或者 -1。
一般直接用拉普拉斯的滤波结果会很黑,因为其包含正值与负值而负值会被夹断成0。正确的是将结果缩放到[0,255][0, 255][0,255]区间。举个例子(DIP4E中的图像),
这三张图像依次为模糊后的月球北极图像,拉普拉斯得到的图像,缩放到0到255的图像。
每个核的系数之和为0,所以当导数核通过图像中的恒定区域时,这个位置的卷积结果为0。一幅图像和系数和为0的核卷积结果中,像素之和也为0,那么用这些核进行滤波后的图像一定有负值,有时候需要进行额外处理(比如与原图相加)。
3. 钝化掩蔽和高提升滤波
钝化掩蔽即,从原图像减去一幅钝化后的图像,步骤为:
模糊原图像从原图像减去模糊图像(其差称为模板)将模板与原图像相加
g(x,y)=f(x,y)+kgmask(x,y)g(x,y) = f(x,y) +kg_{mask} (x,y)g(x,y)=f(x,y)+kgmask(x,y)
这里有个权值kkk,kkk等于1时其为钝化掩蔽,而大于1时其为高提升滤波。
当kkk大到模板的峰值大于原信号最小值的时候,最终结果就可能存在负灰度值,使得结果出现暗晕,所以kkk值太大也是不好的。
4. 使用一阶导数锐化图像 —— 梯度
图像fff在坐标(x,y)(x,y)(x,y)处的梯度定义为二维列向量:∇f≡grad(f)=[gxgy]\nabla f \equiv grad(f) = \begin{bmatrix} g_x \\ g_y \end{bmatrix}∇f≡grad(f)=[gxgy]
指的是它指向fff的最大变化率方向。这个向量的长度(范数)∣∣f∣∣=M(x,y)=mag(∇f)=gx2+gy2||f||=M(x,y)=mag(\nabla f)=\sqrt{g_x^2+g_y^2}∣∣f∣∣=M(x,y)=mag(∇f)=gx2+gy2是梯度向量方向的变化率在(x,y)(x,y)(x,y)处的值。M(x,y)M(x,y)M(x,y)是与原图像大小相同的图像,是在xxx和yyy在所有像素位置上变化时创建的,实践中称为梯度图像。
在某些实现中也可以使用绝对值来近似平方运算和平方根运算:M(x,y)=∣gx∣+∣gy∣M(x,y)=|g_x|+|g_y|M(x,y)=∣gx∣+∣gy∣
书中举例罗伯特交叉梯度算子,和Sobel算子。
zzz的具体定义见上图,罗伯特交叉梯度算子即:gx=(z9−z5)g_x=(z_9-z_5)gx=(z9−z5) 和 gy=(z8−z6)g_y=(z_8-z_6)gy=(z8−z6),这里看做为2x2的核。
使用中心为z5z_5z5的3x3邻域时,他们近似为:
即为Sobel算子,其卷积因子为:
中心系数这里使用权值2的原因是强调中心的重要程度,来实现某种平滑。系数和为零,则对恒定灰度区域给出零相应。
关于Sobel书这章就是一带而过,详细一点的要到第10章才讲。网上搜到的几篇讲Sobel原理和实现的也还比较详细,实现起来不算复杂:
/sunny2038/article/details/9170013
/qq_37124237/article/details/82183177
如果觉得《数字图像处理 - Ch3 锐化(高通)空间滤波器》对你有帮助,请点赞、收藏,并留下你的观点哦!