文章目录
- 一、频率域滤波 P161 - P169
- 二、使用频率域滤波器平滑图像 P169 - P174
- 三、使用频率域滤波器锐化图像 P176 - P184
- 四、选择滤波 P184 - P186
- 五、实现 P187 - P190
一、频率域滤波 P161 - P169
1.1 频率域的其他特性 P161 - P162
- 傅里叶变换的结果与图像中的强度变化模式具有一定的联系
① 变化最慢的频率成分(u=v=0) 与 一幅图像的平均灰度级成正比
F ( 0 , 0 ) = M N 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) = M N f ˉ ( x , y ) F(0,0)=M N \frac{1}{M N} \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x, y)=M N \bar{f}(x, y) F(0,0)=MNMN1x=0∑M−1y=0∑N−1f(x,y)=MNfˉ(x,y)
② 低频 对应着图像中变换缓慢的灰度成分(总体图像)
③ 高频 对应图像中灰度变化快的部分(噪声、边缘)
1.2 频率滤波基础 P162 - P165
- 频率域滤波是指先修改一幅图像的傅里叶变换,然后计算其反变换,最后得到处理后的结果的过程
- 若给定的一幅大小为 M*N 的数字图像f(x,y),基本的滤波公式为:
g ( x , y ) = ℑ − 1 [ H ( u , v ) F ( u , v ) ] g(x,y) = \Im^{-1}[H(u,v)F(u,v)] g(x,y)=ℑ−1[H(u,v)F(u,v)]
式子中, ℑ − 1 \Im^{-1} ℑ−1是IDFT,F(u,v)是输入图像的DFT,H(u,v)是滤波函数(简称为 滤波器 或 滤波传递函数),g(x,y)是滤波后的(输出)图像
注意:如果 H 是实对称函数而 f 是实函数(通常如此),则g(x,y)理论上生成实数量。实际上,该反变换通常包含有由舍入误差和其他计算的错误引起的寄生复数项。因此,我们通常取 IDFT 的实部部分来形成函数
- 考虑以下情况:
-
使用中心对称的函数可以明显简化 H(u,v) 的技术条件,因此要求 F(u,v) 也被中心化。
· 实际的操作是: f ( x , y ) ∗ ( − 1 ) x + y f(x,y) * (-1)^{x+y} f(x,y)∗(−1)x+y -
滤波过程涉及在频率域两个函数的乘积,该计算 可转化为在空间域两个频域中对应的空间函数的卷积问题。考虑到 DFT 中 空间域函数(f(x,y)与h(x,y))具有周期性,在空间域中会发生缠绕问题,因此需要对 f(x,y)与h(x,y) 填充0,以避免缠绕问题。但可能会出现振铃现象。
· 实际的操作是:对图片(f(x,y))0填充,然后在频率域创建滤波器,其尺寸与填充过的图像一样 (使用DFT时,图像与滤波器的大小必须相同) 。当然这将导致缠绕误差,因为未对该滤波器进行填充。但在实践中,该错误可以通过图像填充提供间隔有效的减轻
· 振铃现象的说明:
1.3 频率域滤波小结 P165 - P166
- 给定一幅大小为 M*N 的输入图像 f(x,y) ,从 式(4.6-31) 和 式(4.6.32)得到填充参数 P 和 Q。通常选择 P = 2M 和 Q = 2N
- 对 f(x,y) 添加必要数量的 0,形成大小为 P*Q 的填充图像 f p ( x , y ) f_{p}(x,y) fp(x,y)
(前两步是为了解决 IDFT 后的缠绕问题) - 用 ( − 1 ) x + y (-1)^{x+y} (−1)x+y乘以 f p ( x , y ) f_p(x,y) fp(x,y),移到其变换的中心
- 计算来自步骤3的图像DFT,得到 F(u,v)
- 生成一个实的、对称的 滤波函数H(u,v),其大小为 P*Q ,中心在(P/2,Q/2)处。用阵列相乘形成乘积 G ( u , v ) = H ( u , v ) F ( u , v ) G(u,v) = H(u,v)F(u,v) G(u,v)=H(u,v)F(u,v);即 G ( i , k ) = H ( i , k ) F ( i , k ) G(i,k) = H(i,k)F(i,k) G(i,k)=H(i,k)F(i,k)
- 得到处理后的图像:
g p ( x , y ) = { r e a l [ ℑ − 1 [ G ( u , v ) ] ] } ( − 1 ) x + y g_{p}(x,y) = \{real[\Im^{-1}[G(u,v)]]\}(-1)^{x+y} gp(x,y)={ real[ℑ−1[G(u,v)]]}(−1)x+y
其中,为忽略由于计算不准确导致的寄生复部分,选择了实部,下标p指出我们处理的是填充后的阵列 - 从 g p ( x , y ) g_{p}(x,y) gp(x,y)的左上象限提取 M*N 区域,得到最终处理的结果 g(x,y)
1.4 空间和频率滤波间的对应 P165 - P166
- 空间域和频率域滤波间的纽带是卷积定理
g ( x , y ) = ℑ − 1 [ H ( u , v ) F ( u , v ) ] g(x,y) = \Im^{-1}[H(u,v)F(u,v)] g(x,y)=ℑ−1[H(u,v)F(u,v)]
令 f ( x , y ) = δ ( x , y ) f(x,y) = \delta(x,y) f(x,y)=δ(x,y),F(x,y) = 1,带入上式可得
h ( x , y ) = ℑ − 1 [ H ( u , v ) ] h(x,y) = \Im^{-1}[H(u,v)] h(x,y)=ℑ−1[H(u,v)],即 h ( x , y ) < = = > H ( u , v ) h(x,y) <==> H(u,v) h(x,y)<==>H(u,v)
注意:此处属于DFT范畴,两个滤波器形成傅里叶变换对,其尺寸是等大小的
- 实践中,更多的是考虑第三章中的空间频率滤波方式,即使用较小的滤波器(掩模)来卷积滤波,因为它在硬件和/或固件实现时速度更快,且更容易。然而滤波概念在频率域更直观
利用两个域中的特性的一种方法是在频率域规定的一个滤波器,计算它的 IDFT ,作为构建更小的空间滤波模板的参照,然后利用反变换的结果得到全尺寸的空间滤波器 - 使用高斯滤波器来说明,如何运用频率域滤波器 指定第三章空间滤波中的小模板
① 高斯滤波器(一维):
· H(u)表示一维频率域高斯滤波器:
H ( u ) = A e − u 2 / 2 σ 2 H(u) = Ae^{-u^{2}/2\sigma^{2}} H(u)=Ae−u2/2σ2
· h(x)表示一维空间域高斯滤波器
h ( x ) = 2 π σ A e − 2 π 2 σ 2 x 2 h(x) = \sqrt{2\pi}\sigma Ae^{-2\pi^{2}\sigma^{2}x^{2}} h(x)=2π σAe−2π2σ2x2
式中 σ \sigma σ是高斯曲线的标准差
② 高斯滤波器的特点:
a) h(x)与H(u)是一个傅里叶变换对,两个成分都有高斯函数 和 实函数。便于分析,因为不涉及复数
b) 函数表现为 互易性。当 H(u) 有一个较宽的外形( σ \sigma σ值较大),h(x)有较窄的外形,反之亦然。事实上,当 σ \sigma σ接近于无限时,H(u)接近一个常数,并且h(x)的曲线形状趋近于一个冲激,这意味着在频率域和空间域都不能滤波
③ 构造高通滤波器
a) H ( u ) = A e − u 2 / 2 σ 1 2 − B e − u 2 / 2 σ 2 2 H(u) = Ae^{-u^{2}/2\sigma_1^2} - Be^{-u^{2}/2\sigma_2^2} H(u)=Ae−u2/2σ12−Be−u2/2σ22
b) h ( x ) = 2 π σ 1 A e − 2 π 2 σ 1 2 x 2 − 2 π σ 2 B e − 2 π 2 σ 2 2 x 2 h(x) = \sqrt{2\pi}\sigma_1 Ae^{-2\pi^{2}\sigma_1^2x^2} - \sqrt{2\pi}\sigma_2 Be^{-2\pi^{2}\sigma_2^2x^2} h(x)=2π σ1Ae−2π2σ12x2−2π σ2Be−2π2σ22x2
式中,A >= B, σ 1 > σ 2 \sigma_1 > \sigma_2 σ1>σ2
二、使用频率域滤波器平滑图像 P169 - P174
边缘和其他尖锐变化(如噪声)在图像的灰度级中只要处于傅里叶变换的高频部分。因此,平滑(模糊)可以通过衰减指定图像傅里叶变换中高频成分的范围来实现。
G ( u , v ) = H ( u , v ) F ( u , v ) G(u, v)=H(u, v) F(u, v) G(u,v)=H(u,v)F(u,v)
目标是选择一个滤波器变换函数 H(u,v) 以通过衰减 F(u,v) 的高频成分产生 G(u,v)
- 理想低通滤波器
- 布特沃斯(低通)滤波器
- 高斯(低通)滤波器
2.1 理想低通滤波器(ILPF) P169 - P172
- 最简单的低通滤波器是"截断"傅里叶变换中所有高频成分,这些成分处在 距变换原点的距离比指定的距离 D 0 D_{0} D0要远得多的位置。这种滤波器称为二维理想低通滤波器,其变换函数为:
H ( u , v ) = { 1 D ( u , v ) ⩽ D 0 0 D ( u , v ) > D 0 H(u, v)=\left\{\begin{array}{ll}1 & D(u, v) \leqslant D_{0} \\ 0 & D(u, v)>D_{0}\end{array}\right. H(u,v)={ 10D(u,v)⩽D0D(u,v)>D0
其中, D 0 D_{0}