FFT Shift

        在频域图像处理中,交换四个象限实现FFT移位(也称为FFT Shift)是一种将频域图像的低频成分移动到中心的标准化操作。

1. 为什么需要FFT移位?

  • 原始FFT输出特性
    二维FFT的直接计算结果中:

    • 低频分量(图像的整体亮度和平滑部分)位于频谱图的四个角落

    • 高频分量(边缘、细节和噪声)集中在频谱图的中心区域

  • 可视化需求
    人类更习惯观察低频在中心、高频在外围的频谱图(类似"靶心"的分布)。

2. 四象限交换的原理

假设频谱图像被划分为四个象限(以图像中心为原点):

        左上半区(q0) | 右上半区(q1)------------|------------左下半区(q2) | 右下半区(q3)

通过交换对角象限:

  • q0(左上) ↔ q3(右下)

  • q1(右上) ↔ q2(左下)

最终效果是将四个角落的低频成分移动到中心,高频成分移动到外围。

3. 代码实现步骤(OpenCV示例)

int cx = spectrum.cols / 2;  // 中心x坐标
int cy = spectrum.rows / 2;  // 中心y坐标// 定义四个象限的ROI(感兴趣区域)
cv::Mat q0(spectrum, cv::Rect(0, 0, cx, cy));     // 左上
cv::Mat q1(spectrum, cv::Rect(cx, 0, cx, cy));    // 右上
cv::Mat q2(spectrum, cv::Rect(0, cy, cx, cy));    // 左下
cv::Mat q3(spectrum, cv::Rect(cx, cy, cx, cy));   // 右下// 交换对角象限
cv::Mat tmp;
q0.copyTo(tmp);  // 保存左上
q3.copyTo(q0);   // 右下 → 左上
tmp.copyTo(q3);  // 原左上 → 右下q1.copyTo(tmp);  // 保存右上
q2.copyTo(q1);   // 左下 → 右上
tmp.copyTo(q2);  // 原右上 → 左下

4. 可视化对比

操作前(原始FFT输出)操作后(FFT Shift后)
低频

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

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

相关文章

python打卡day34@浙大疏锦行

知识点回归: CPU性能的查看:看架构代际、核心数、线程数GPU性能的查看:看显存、看级别、看架构代际GPU训练的方法:数据和模型移动到GPU device上类的call方法:为什么定义前向传播时可以直接写作self.fc1(x) ①CPU性能查…

Windows 配置 ssh 秘钥登录 Ubuntu

在 Windows 上推送 SSH 公钥到远程服务器(类似于 Linux 上的 ssh-copy-id)可以通过以下几种方法实现: ** 手动复制公钥内容** 查看本地公钥内容:type $env:USERPROFILE\.ssh\id_rsa.pub登录远程服务器,将公钥内容粘贴…

SAP全面转向AI战略,S/4HANA悄然隐身

在2025年SAP Sapphire大会上,SAP首席执行官Christian Klein提出了一个雄心勃勃的愿景:让人工智能(AI)无处不在,推动企业数字化转型。SAP的AI战略核心是将AI深度融入其业务应用生态,包括推出全新版本的AI助手…

Athena 执行引擎:在线服务计算的效率王者

引言 在在线服务领域,计算任务呈现出独特的特性:一方面,数据量通常不会过于庞大,因为在线服务对耗时和响应速度有着严苛要求;另一方面,计算任务具有可控性,其大多并非由用户实时输入动态生成&a…

传奇各种怪物一览/图像/爆率/产出/刷新地/刷新时间/刷怪时间

名称图像显示名等级血量攻击可召唤产出刷新蝙蝠蝙蝠530-22,0,0可诱惑回城卷(1.00%) 金币(1.00%*500)鸡鸡551-1,0,0可诱惑鸡肉(100.00%)比奇省(29550,62550)5分钟35只 比奇省(35025,20025)5分钟25只 比奇省(34025,31025)5分钟25只 比奇省(40525,24025)5分钟25只 比奇省(28025,26…

MySQL--day7--聚合函数

(以下内容全部来自上述课程) 聚合函数 1. 介绍 聚合函数作用于一组数据,并对一组数据返回一个值。 聚合函数类型 AVG()SUM()MAX()MIN()COU…

[Java] 封装

目录 1. 什么是封装 2. 访问修饰符 3. 封装的好处 4. 封装的步骤 5. 包 5.1 什么是包 5.2 导入包中的类 5.3 自定义包 5.4 常用的包 6. static关键字 6.1 static修饰成员变量 6.2 static修饰成员方法 6.3 Static修饰成员变量初始化 7. 代码块 7.1 普通代码块 …

Axure元件动作五:设置列表选中项

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 演示视频: Axure设置列表选中项 课程主题:设置列表选中项 主要内容:下拉列表选项、值、变量值、焦…

Spring框架--IOC技术

一、Spring框架的介绍 1、Spring框架的概述 Spring 是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003年兴起的一个轻量级的Java开发框架,由 Rod Jo…

Flannel后端为UDP模式下,分析数据包的发送方式——tun设备(三)

在分析 Kubernetes 环境中 Flannel UDP 模式的数据包转发时,我们提到 flannel.1 是一个 TUN 设备,它在数据包处理中起到了关键作用。 什么是 TUN 设备? TUN 设备(Tunnel 设备)是 Linux 系统中一种虚拟网络接口&#x…

2025深圳国际无人机展深度解析:看点、厂商与创新亮点

2025深圳国际无人机展深度解析:看点、厂商与创新亮点 1.背景2.核心看点:技术突破与场景创新2.1 eVTOL(飞行汽车)的规模化展示2.2 智能无人机与无人值守平台2.3 新材料与核心零部件革新2.4 动态演示与赛事活动 3.头部无人机厂商4.核…

【Jitsi Meet】(腾讯会议的平替)Docker安装Jitsi Meet指南-使用内网IP访问

Docker安装Jitsi Meet指南-使用内网IP访问 下载官方代码配置环境变量复制示例环境文件并修改配置:编辑 .env 文件: 修改 docker-compose.yml 文件生成自签名证书启动服务最终验证 腾讯会议的平替。我们是每天开早晚会的,都是使用腾讯会议。腾…

使用Spring Boot和Spring Security结合JWT实现安全的RESTful API

使用Spring Boot和Spring Security结合JWT实现安全的RESTful API 引言 在现代Web应用中,安全性是至关重要的。Spring Boot和Spring Security提供了强大的工具来保护我们的应用程序,而JWT(JSON Web Token)则是一种轻量级的认证和…

对神经正切核的理解和推导(1)

声明: 本文是对Neural Tangent Kernel (NTK)基础推导 - Gearlesskai - 博客园文章内容的理解与推导,里面很多东西对我这种新手来说不太好理解,所以我力求通过这种方式理解文章的大部分内容。希望我的理解可以帮助你更…

基于 STC89C52 的养殖场智能温控系统设计与实现

摘要 本文提出一种基于 STC89C52 单片机的养殖场环境温度智能控制系统,通过集成高精度温度传感器、智能执行机构及人机交互模块,实现对养殖环境的实时监测与自动调控。系统具备温度阈值设定、超限报警及多模式控制功能,可有效提升养殖环境稳定性,降低能耗与人工成本。 一…

微信小程序调试

一、寻找答案 1. 创建小程序 https://zhuanlan.zhihu.com/p/1906013675883561860 2. 若有后端接口,需要调试 https://blog.csdn.net/animatecat/article/details/126949749 3. 比较细教程, 搭建修改配置 https://zhuanlan.zhihu.com/p/1893281527112136235 4. 查找…

使用DeepSeek实现数据处理

一、核心能力全景图 Ctrl+/ 唤醒智能助手,支持以下数据处理场景: 🧹 数据清洗与预处理📈 统计分析与可视化🤖 机器学习建模🚀 大数据性能优化📊 自动化报告生成⚡ 实时流数据处理二、高频场景实战(附魔法口令) 场景1:数据清洗自动化(Python示例) 口令: 处…

符合Python风格的对象(使用 __slots__ 类属性节省空间)

使用__slots__ 类属性节省空间 默认情况下,Python 在各个实例中名为__dict__ 的字典里存储实例属 性。如 3.9.3 节所述,为了使用底层的散列表提升访问速度,字典会消 耗大量内存。如果要处理数百万个属性不多的实例,通过__slots__…

民宿管理系统5

管理员管理&#xff1a; 新增管理员信息&#xff1a; 前端效果&#xff1a; 前端代码&#xff1a; <body> <div class"layui-fluid"><div class"layui-row"><div class"layui-form"><div class"layui-form-i…

​腾讯地图轨迹云:重构位置管理的数字神经中枢

——从轨迹追踪到智能决策&#xff0c;开启产业互联网新篇章 在数字经济与实体经济深度融合的今天&#xff0c;位置服务已成为企业数字化转型的核心基础设施。无论是物流运输中的车辆调度、共享经济中的设备管理&#xff0c;还是智慧城市中的交通优化&#xff0c;精准的轨迹数…