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

频域滤波为什么使用psf2otf函数?

MATLAB中circshift函数是psf2otf函数的核心,在MATLAB中circshift函数的原理分析——psf2otf函数的核心直观解释了为什么需要循环移位。

MATLAB提出了psf2otf函数,先做循环移位,再计算离散傅里叶变换。如果有空域的卷积核,通过这个函数实现频域滤波。psf2otf默认的是周期延拓的边界扩展方式。

在这里插入图片描述

psf2otf函数

   % Circularly shift otf so that the "center" of the PSF is at the
   % (1,1) element of the array.
   psf    = circshift(psf,-floor(psfSize/2));

   % Compute the OTF
   otf = fftn(psf);

otf2psf函数

   psf = ifftn(otf);
 % Circularly shift psf so that (1,1) element is moved to the
   % appropriate center position.
   psf    = circshift(psf,floor(outSize/2));

循环移位将中心移到矩阵左上角的位置。

这是一个高斯核

移位前
在这里插入图片描述
移位后
在这里插入图片描述

补零与psf2otf的区别

在频域滤波中默认的边界条件——补零与不补零(答作者问)中,说明了补零与psf2otf的区别。使用fft2是错误的。
在这里插入图片描述


http://www.kler.cn/a/465348.html

相关文章:

  • UniApp 状态管理:Vuex 在 UniApp 中的实践
  • 【RTD MCAL 篇3】 K312 MCU时钟系统配置
  • Linux 内核中的 Netlink 机制:内核与用户空间的通信桥梁
  • 『 Linux 』高级IO (三) - Epoll模型的封装与EpollEchoServer服务器
  • 给vscode的新项目选择虚拟环境
  • 服务器等保测评日志策略配置
  • 大语言模型(LLMs)数学推理的经验技巧【思维链CoT的应用方法】
  • 【JavaWeb后端学习笔记】MySQL的常用函数(字符串函数,数值函数,日期函数,流程函数)
  • Java学习-Redis
  • Next.js 实战 (六):如何实现文件本地上传
  • 目录中只有一个子目录时把子目录移动到父目录
  • OpenCV的人脸检测模型FaceDetectorYN
  • 25考研王道数据结构课后习题笔记
  • 2025三掌柜赠书活动第一期:动手学深度学习(PyTorch版)
  • 什么是实体完整性约束?
  • CSS系列(43)-- Anchor Positioning详解
  • Python图形界面(GUI)Tkinter笔记(二十二):Listbox列表项目功能控件
  • 在C#中获取程序的命令行参数
  • Spring MVC 的@GetMapping和@PostMapping和@PutMapping
  • Maven项目集成SQL Server的完整教程:从驱动配置到封装优化
  • Unity小白工作心得(无限记录)
  • uniapp中使用ruoyiPlus中的加密使用(crypto-js)
  • es 3期 第19节-运用异步机制执行重度查询
  • 面向对象三大特征之一——继承super
  • Sentinel的源码学习记录
  • 服务器主机网络测试命令