理解频域滤波

news2025/7/22 6:51:06

1 频域滤波基础

    对一幅数字图像,基本的频率滤波操作包括:

    1)将图像变换到频率域;

    2)根据需要修改频率域数值;

    3)反变换到图像域。

    使用公式表达为 

    H(u,v) 为滤波器(滤波传递函数),F(u,v) 为图像函数的傅里叶变换。

    在将图像变换到频率域之前,对其中心化处理可使变换后结果更利于观察与分析,因此,乘以 

 以实现中心化。

    在反变换到图像域后,得到的图像是 

,将其乘以 

 使图像平移还原,因此,乘以 

 还原平移。

    在对数字图像进行频移滤波时,需要关注卷积缠绕和振铃现象,这是在设计滤波函数时需要尽力避免的。

    1)卷积缠绕

    给定非周期信号,对其进行离散傅里叶变换或者反变换后得到周期信号,而周期信号卷积操作可能产生缠绕。

    卷积操作是对两个信号滑动乘积进行累加,当累加区间大于任意信号周期,就可能对一个信号周期外的值进行重复累加。

    解决卷积缠绕的方法就是在傅里叶变换(或反变换前)进行0填充处理,0填充使得信号周期不小于卷积区间,从而避免了卷积缠绕。

    2)振铃

    使用0填充可以避免卷积缠绕,但可能产生振铃现象。

    公式 

 使用频域乘积进行滤波处理,其等价操作为空间域的卷积 

    当 H(u,v) 为理想低通滤波器(盒函数),其反傅里叶变换 h(x,y) 包含无限震荡频率,无限震荡频率使得在卷积时必然产生振铃现象。

    如果对其进行0填充以避免卷积缠绕,必然对 f(x,y)信号截断, 对截断后的 f(x,y) 变换到频率域,发现之前的盒函数在边缘上出现了震荡,使振铃现象更加严重。

    综上描述,对于理想低通滤波器,振铃现象不可避免,如果0填充以避免卷积缠绕将使得振铃现象更加明显。

    一个折中方案就是对图像进行0填充,但不对滤波器进行填充, 由于图像0填充在一定程度降低了卷积缠绕的影响,

   同时由于图像0填充使得理想低通滤波器引起的振铃现象减弱,从而得到相对理想的结果。

    一个更好的方案是使用高斯低通滤波器,由于高斯函数的傅里叶变换(或反傅里叶变换)均为高斯函数,高斯函数没有震荡周期,故天然没有振铃现象。

    仅需要对图像0填充以避免卷积缠绕即可得到较好的滤波结果。

    通过讨论,可以得到频域滤波的完整步骤如下:

    1)将给定一幅 M*N 的图像 f(x,y) 0填充为 2M*2N 的图像 

    2)对 

 乘以 

 平移到中心,并对器进行傅里叶变换 

    3)使用滤波器滤波 

    4)对滤波后频率进行反傅里叶变换 

    其中,real 表示取反傅里叶变换的实部,这是因为数值计算过程中不可避免的误差而导致虚部寄生分量,

    

 抵消到傅里叶变换前的平移到中心操作;

    5)从 

 中取左上 M*N 图像即为滤波后结果。

2 低通滤波器

    1)理想低通滤波器(ILPF)

    理想低通滤波器定义为 

,D(u,v) 为 (u,v) 到中心点距离,

    由于理想低通滤波器为一盒函数,其空域卷积核存在震荡特性,这使得理想低通滤波天然存在振铃现象。

    2)布特沃斯低通滤波器(BLPF)

    布特沃斯低通滤波器定义为 

 ,当 n 越大时,布特沃斯滤波器越接近理想滤波器,

    因此,变换到空间域后其卷积核的震荡性随着 n  增大而增大。

    当 n=1 时,变换到空间域其卷积核没有震荡,但其频率截止曲线过于平滑,图像平滑效果较差。

    当 n=2 时,变换到空间域其卷积核有轻微震荡,但其产生的振铃现象不大,同时具有较好的平滑性,因此 n=2 可作为一个折中方案,

    使用不同的截止频率 

,可以控制图像平滑程度,达到不同滤波效果。

    3)高斯低通滤波器(GLPF)

    高斯低通滤波器定义为 

 为滤波截止频率。

    由于高斯函数的傅里叶变换(或反傅里叶变换)均是高斯函数,因此,其卷积核没有振铃现象。

    综上,似乎高斯低通滤波器是最优的选择,一般情况下这个结论是正确的。

    但是由于2阶布特沃斯低通滤波器具有更陡峭的频率截止曲线,同时其振铃现象较小,

    在一些需要对频率严格分割的情况下,2阶布特沃斯低通滤波器应该是一个较好的选择。

    理想低通滤波器会产生较严重的振铃现象,因此一般都不是一个较好的选择!

3 高通滤波器

    有了低通滤波器,对其进行适当取反操作,即可以得到合适的高通滤波器。

    1)理想高通滤波器(IHPF)

    理想高通滤波器定义为  

    同样的,由于其反傅里叶变换具有震荡性,因此同样会产生振铃现象,这一般不是一个好的的选择。

    2)布特沃斯高通滤波器(BHPF)

    布特沃斯高通滤波器定义为 

,

    2阶布特沃斯高通滤波器的反傅里叶变换具有可以接受的较小震荡性,这是一个高通滤波的选择。

    3)高斯高通滤波器(GHPF)

    高斯高通滤波器定义为 

    高斯高通滤波器的反傅里叶变换没有震荡特性,因此滤波后不会产生振铃,这是一个好的高通滤波选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2395903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(一)

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。Telerik DevCraft提供完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UI for ASP.NET MVC、Kendo…

古老的传说(Player、Stage)是否还能在蓝桥云课ROS中重现-250601(失败)

古老的传说是否还能在蓝桥云课ROS中重现-250601 经典复现何其难,百分之二就凉凉! 古老的传说 那是很久很久以前的故事……上个世纪的一个机器人项目 Player、Stage这个项目最早起源于1999年,由美国南加州大学机器人研究实验室开发&#xff0…

InfluxQL 数据分析实战:聚合、过滤与关联查询全解析

InfluxQL 作为时序数据库的专用查询语言,在处理时间序列数据时展现出独特优势。本文深入探讨 聚合计算、数据过滤和跨测量关联 三大核心操作,通过真实代码示例展示如何从海量时序数据中提取关键洞察。文中涵盖从基础平均值计算到复杂多维度分析的完整流程…

Qt font + ToolTip + focusPolicy + styleSheet属性(5)

文章目录 font属性API接口直接在Qt Designer编辑图形化界面通过纯代码的方式修改文字属性 ToolTip属性API接口代码演示 focusPolicy属性概念理解API接口通过编辑图形化界面演示 styleSheet属性概念理解通过编辑图形化界面展示代码 图形化界面的方式展示(夜间/日间模…

十三: 神经网络的学习

这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。为了使神经网络能进行学习,将导入损失函数这一指标。而学习的目的就是以该损失函数为基准,找出能使它的值达到最小的权重参数。为了找出尽可能小的损失函数的值,我们将介绍利…

LeetCode 高频 SQL 50 题(基础版)之 【聚合函数】部分

题目:620. 有趣的电影 题解: select * from cinema where description !boring and id%21 order by rating desc题目:1251. 平均售价 题解: select p.product_id product_id,round(ifnull(sum(p.price*u.units)/sum(u.units),0)…

【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)

1,介绍 出自论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,RAG是权宜之计,通过RAG将问题简单化、精简化、剔除噪声,让LLM更容易理解、生成内容。RAG:检索增强技术检索生成(重…

低成本高效图像生成:GPUGeek和ComfyUI的强强联合

一、时代背景 在如今的数字化时代,图像生成技术正不断发展和演变,尤其是在人工智能领域。无论是游戏开发、虚拟现实,还是设计创意,图像生成已成为许多应用的核心技术之一。然而,随着图像质量需求的提升,生成…

《操作系统真相还原》——进入内核

ELF 按书上的操作来,在现代操作平台编译链接默认生成elf64 格式的文件, 很显然程序头位置发生变化,因为定义elf 结构的类型中有64位,所以我们需要将编译链接出32位格式的 gcc -m32 -c -o main.o main.c ld -m elf_i386 main.o …

【QQ音乐】sign签名| data参数 | AES-GCM加密 | webpack(上)

1.目标 网址:https://y.qq.com/n/ryqq/toplist/26 切换榜单出现请求,可以看到sign和data是加密的 2.逆向分析 搜索sign: 可以看到sign P(n.data),而n.data就是请求的加密data参数 data {"comm":{"cv":4747474,&qu…

【STM32】按键控制LED 光敏传感器控制蜂鸣器

🔎【博主简介】🔎 🏅CSDN博客专家 🏅2021年博客之星物联网与嵌入式开发TOP5 🏅2022年博客之星物联网与嵌入式开发TOP4 🏅2021年2022年C站百大博主 🏅华为云开发…

M-OFDM模糊函数原理及仿真

文章目录 前言一、M序列二、M-OFDM 信号1、OFDM 信号表达式2、模糊函数表达式 三、MATLAB 仿真1、MATLAB 核心源码2、仿真结果①、m-OFDM 模糊函数②、m-OFDM 距离分辨率③、m-OFDM 速度分辨率④、m-OFDM 等高线图 四、资源自取 前言 本文进行 M-OFDM 的原理讲解及仿真&#x…

【MySQL】MVCC与Read View

目录 一、数据库并发的三种场景 二、读写场景的MVCC (一)表中的三个隐藏字段 (二)undo 日志 (三)模拟MVCC (四)Read View (五)当前读和快照读 三、RC和…

相机--双目立体相机

教程 链接1 教程汇总 立体匹配算法基础概念 视频讲解摄像机标定和双目立体原理 两个镜头。 双目相机也叫立体相机--Stereo Camera,属于深度相机。 作用 1,获取图像特征; 2,获取图像深度信息; 原理 原理和标定 …

多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现

多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现 目录 多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现效果一览基本介绍…

工厂模式 vs 策略模式:设计模式中的 “创建者” 与 “决策者”

在日常工作里,需求变动或者新增功能是再常见不过的事情了。而面对这种情况时,那些耦合度较高的代码就会给我们带来不少麻烦,因为在这样的代码基础上添加新需求往往困难重重。为了保证系统的稳定性,我们在添加新需求时,…

37. Sudoku Solver

题目描述 37. Sudoku Solver 回溯 class Solution {vector<vector<bool>> row_used;vector<vector<bool>> col_used;vector<vector<bool>> box_used;public:void solveSudoku(vector<vector<char>>& board) {row_used.r…

RV1126-OPENCV 图像叠加

一.功能介绍 图像叠加&#xff1a;就是在一张图片上放上自己想要的图片&#xff0c;如LOGO&#xff0c;时间等。有点像之前提到的OSD原理一样。例如&#xff1a;下图一张图片&#xff0c;在左上角增加其他图片。 二.OPENCV中图像叠加常用的API 1. copyTo方法进行图像叠加 原理…

修改 vscode 左侧导航栏的文字大小 (更新版)

1. 起因&#xff0c; 目的: 问题&#xff1a; vscode 左侧的文字太小了&#xff01;&#xff01;&#xff01;我最火的一篇文章&#xff0c;写的就是这个问题。 看来这个问题&#xff0c;是很广泛的一个痛点。我最近更新了 vscode&#xff0c; 这个问题又出现了。再来搞一下。…

云原生 Cloud Native Build (CNB)使用初体验

云原生 Cloud Native Build&#xff08;CNB&#xff09;使用初体验 引言 当“一切皆可云”成为趋势&#xff0c;传统开发环境正被云原生工具重塑。腾讯云CNB&#xff08;Cloud Native Build&#xff09;作为一站式开发平台&#xff0c;试图解决多环境协作难题。 本文将分享c…