当前位置: 首页 > ds >正文

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.xdnf.cn/news/8819.html

相关文章:

  • 双目视野高精度拼接
  • PCB设计教程【入门篇】——PCB设计基础-PCB构成与组成
  • DeepONet深度解析:原理、架构与实现
  • python+vlisp实现对多段线范围内土方体积的计算
  • 连接表、视图和存储过程
  • JDK21深度解密 Day 3:模式匹配全解析
  • pvlib(太阳轨迹)
  • nginx的一些配置的意思
  • 攻防世界RE-666
  • 发电厂进阶,modbus TCP转ethernet ip网关如何赋能能源行业
  • java线程中断的艺术
  • spike:一款协议模糊测试器工具包!全参数详细教程!Kali Linux教程!
  • TF-IDF和词袋模型
  • FPGA高速接口 mipi lvds cameralink hdml 千兆网 sdi
  • 「Python教案」输入输出函数的使用
  • c语言和系统的文件接口
  • 427. 建立四叉树
  • OpenLayers 加载动画控件
  • 对比Redis与向量数据库(如Milvus)在AI中的应用
  • PyQt5高效布局指南:QTabWidget与QStackedWidget实战解析
  • LangChain4j第三篇: RAG的简单应用与实践
  • 留存率问题
  • [AI]主流大模型、ChatGPTDeepseek、国内免费大模型API服务推荐(支持LangChain.js集成)
  • QWidget类关系图
  • AI方案调研与实践二:模型训练
  • 电子电路:什么是孤立导体?即孤立导体的电荷分布与特性
  • Linux常见指令合集+知识点
  • 12软件测试需求分析案例-删除学生信息
  • 量子计算:开启未来计算新纪元的革命性技术
  • CAU人工智能class5 激活函数