首页 > 其他分享 >数字图像处理 第四章 频率域滤波(下)

数字图像处理 第四章 频率域滤波(下)

时间:2024-08-03 10:53:47浏览次数:10  
标签:滤波器 变换 数字图像处理 滤波 频率 图像 sigma 第四章

在这里插入图片描述

文章目录

一、频率域滤波 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)=MNMN1​x=0∑M−1​y=0∑N−1​f(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 的实部部分来形成函数

  • 考虑以下情况:
  1. 使用中心对称的函数可以明显简化 H(u,v) 的技术条件,因此要求 F(u,v) 也被中心化
    · 实际的操作是: f ( x , y ) ∗ ( − 1 ) x + y f(x,y) * (-1)^{x+y} f(x,y)∗(−1)x+y

  2. 滤波过程涉及在频率域两个函数的乘积,该计算 可转化为在空间域两个频域中对应的空间函数的卷积问题。考虑到 DFT 中 空间域函数(f(x,y)与h(x,y))具有周期性,在空间域中会发生缠绕问题,因此需要对 f(x,y)与h(x,y) 填充0,以避免缠绕问题。但可能会出现振铃现象。
    · 实际的操作是:对图片(f(x,y))0填充,然后在频率域创建滤波器,其尺寸与填充过的图像一样 (使用DFT时,图像与滤波器的大小必须相同) 。当然这将导致缠绕误差,因为未对该滤波器进行填充。但在实践中,该错误可以通过图像填充提供间隔有效的减轻
    · 振铃现象的说明:
    在这里插入图片描述


1.3 频率域滤波小结 P165 - P166

  1. 给定一幅大小为 M*N 的输入图像 f(x,y) ,从 式(4.6-31) 和 式(4.6.32)得到填充参数 P 和 Q。通常选择 P = 2M 和 Q = 2N
  2. 对 f(x,y) 添加必要数量的 0,形成大小为 P*Q 的填充图像 f p ( x , y ) f_{p}(x,y) fp​(x,y)
    (前两步是为了解决 IDFT 后的缠绕问题)
  3. ( − 1 ) x + y (-1)^{x+y} (−1)x+y乘以 f p ( x , y ) f_p(x,y) fp​(x,y),移到其变换的中心
  4. 计算来自步骤3的图像DFT,得到 F(u,v)
  5. 生成一个实的、对称的 滤波函数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)
  6. 得到处理后的图像:
    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指出我们处理的是填充后的阵列
  7. 从 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π ​σ1​Ae−2π2σ12​x2−2π ​σ2​Be−2π2σ22​x2
    式中,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)={ 10​D(u,v)⩽D0​D(u,v)>D0​​
    其中, D 0 D_{0}

标签:滤波器,变换,数字图像处理,滤波,频率,图像,sigma,第四章
From: https://blog.csdn.net/weixin_44063529/article/details/140881461

相关文章

  • 数字图像处理 第四章 频率滤波(上)
    文章目录一、背景P124-125二、基本概念P125-1302.1复数P125-P1262.2傅里叶级数P1262.3冲激及其取样特性P126-P1282.4连续变量函数的傅里叶变换P128-P1302.5卷积P130-P131三、取样与取样函数的傅里叶变换P131-P1373.1取样P1......
  • 衡庐浅析·C语言程序设计·第四章·数组
        本文适用于大学的期中期末考试、专升本(专接本、专插本)考试、408等考研预科。如有相关题目疑问或建议欢迎在评论区进行互动。    转载请标明出处。在深入学习C语言的数组之前,我们先回顾一下C语言的三大基本结构:顺序结构、选择结构和循环结构。这些结构构成......
  • 【ADC】欠采样的基本理论及其应用中的抗混叠滤波器设计原则
    概述之前的两篇文章:信号采样中的频谱混叠现象、频谱混叠的MATLAB仿真与抗混叠滤波器设计介绍了关于ADC采样时,有关奈奎斯特采样定律的基本理论、频谱混叠现象的由来,以及抗混叠滤波器的设计与仿真。但这都是基于过采样的情况,即所有目标信号均位于第一奈奎斯特区内。本文首......
  • C primer plus 第四章 4.2字符串简介
    一、什么是字符串:    是一个或多个字符的序列(被双引号引起来的就是字符串),单引号引起来的是字符,字符串=字符+空字符二、char类型和null字符:    *C中没有专门储存字符串的变量,字符串被储存在char类型的数组中。     数组:由连续的储存单元组成,字符串......
  • PixiJS源码分析系列:第四章 响应 Pointer 交互事件(上篇)
    响应Pointer交互事件(上篇)上一章我们分析了sprite在canvasRenderer上的渲染,那么接下来得看看交互上最重要的事件系统了最简单的demo还是用一个最简单的demo演示example/sprite-pointerdown.html为sprite添加一个pointerdown事件,即点击事件,移动设备上就是touc......
  • 常见的滤波法(下)
    常见的滤波法(下)6.一阶滞后滤波法方法:取a=0~1,本次滤波结果=(1-a)本次采样值+a上次滤波结果。优点:对周期性干扰具有良好的抑制作用,适用于波动频率较高的场合。缺点:相位滞后,灵敏度低,滞后程度取决于a值大小,不能消除滤波频率高于采样频率的1/2的干扰信号。#defineFILTER7_A0.......
  • 常见的滤波法(上)
    常见的滤波法(上)滤波处理既适用于模拟信号也适用于数字信号。在模拟信号处理中,滤波通常通过模拟电子电路实现;在数字信号处理中,则可以通过软件算法实现。滤波处理在信号处理中扮演着举足轻重的角色。通过滤波处理,我们可以改善信号的质量、提取有用的信息、提高信号的信噪比和平滑......
  • 《NET CLR via C#》---第四章(System.Object,类型转换,is和as,命名空间和程序集,运行时的相
    System.ObjectCLR要求每个类型最终都从System.Object类型派生。由于所有类型最终都从System.Object派生,所以每个类型的每个对象都保证了一组最基本的方法。公共方法说明Equals如果两个对象具有相同的值,就返回trueGetHashCode返回对象的值的哈希码。如果某个类型的......
  • x264 环路滤波原理系列:滤波运算函数
    x264滤波运算函数关系图滤波强度Bs=1、2、3的滤波运算相关函数deblock_luma_c函数原理逻辑过程:for循环处理MB中每个4x4的块;如果tc0[i]小于0,表示当前行不需要去块处理,函数将跳过当前行,通过continue跳转到下一次迭代。for循环遍历4x4块边的像素点;......
  • 关于fNIRS带通滤波频段选择
    fNIRS滤波频段选择疑问在fNIRS的数据分析中,我们通常选择0.01~0.1Hz频段作为带通滤波的参数。那么其实有个疑问,为什么我们要选择这个频段,这个频段信号有着什么内容?频段意义fNIRS中频段选择主要包括两个意义,首先就是去除无关的干扰信号,其次就是保留与神经活动相关的信号去除无关......