700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 数字图像处理 - Ch3 锐化(高通)空间滤波器

数字图像处理 - Ch3 锐化(高通)空间滤波器

时间:2019-02-22 17:28:02

相关推荐

数字图像处理 - Ch3 锐化(高通)空间滤波器

数字图像处理 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)=[gx​gy​​]

指的是它指向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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。