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

傅里叶变换pytorch使用

参考视频:1 傅里叶变换原理_哔哩哔哩_bilibili

傅里叶变换是干嘛的:

傅里叶得到低频、高频信息,针对低频、高频处理能够实现不同的目的。
傅里叶过程是可逆的,图像经过傅里叶变换、逆傅里叶变换后,能够恢复到原始图像
在频域对图像进行处理,在频域的处理会反映在逆变换图像上

原理

 

傅里叶支持值域和频域互推

振幅

相位:开始的时间

numpy实现傅里叶变换

numpy.fft.fft2 傅里叶变换

得到频谱

numpy.fft.fftshift 将零频率分量移动到频谱中心

 20*np.log(np.abs(fshift)) 设置频谱的范围

比如图像是0-255的范围,这样就可以约束频谱到可视的范围

numpy逆傅里叶变换

numpy.fft.ifft2 逆傅里叶变换

返回一个复数数组(complex ndarray)

numpy.fft.ifftshift 逆移动

np.abs(逆傅里叶变换结果)

通过数组获得可以图像显示的值

滤波 

概念

空域→频域→空域

低频对应图像内变化缓慢的灰度分量。例如,在一幅大草原的图像中,低频对应着广袤的颜色趋于一致的草原。
高频对应图像内变化越来越快的灰度分量,是由灰度的尖锐过渡造成的。例如,在一幅大草原的图像中,其中狮子的边缘等信息,

接受(通过)或拒绝一定频率的分量

通过低频的滤波器成为低通滤波器

通过高频的滤波器成为高通滤波器

作用:

修改傅里叶变换以达到特殊目的,然后计算IDFT返回到图像域。
特殊目的:图像增强、图像去噪、边缘检测、特征提取、压缩、加密等。

高频

思路:调整高低频率主要是设置图像中的选取的位置,然后把不需要的地方换成黑色(0)

低频

OpenCV实现傅里叶变换

cv2.dft(原始图像,转换标识)

返回结果:

双通道:1.结果的实数部分,2.结果的虚数部分

原始图像要先转换成np.float32

转换标识:cv2.DFT_COMPLEX_OUTPUT输出复数阵列

cv2.magnitude(参数1,参数2)计算幅值

参数1∶浮点型X坐标值,也就是实部
参数2:   浮点型Y坐标值,也就是虚部

cv2.idft(原始数据) 逆傅里叶变换

返回结果:取决于原始数据的类型和大小

原始数据:实数或者复数均可

numpy.fft.ifftshift

ffshift函数的逆函数

相关文章:

  • Openfeign+Ribbon+Hystrix断路器(服务降级)
  • Vue 双向数据绑定
  • 使用docker安装logstash的具体方法
  • 网络安全: Kali Linux 使用 MSF 漏洞利用
  • 部署 Web 项目到Linux上
  • 智慧灯杆-智慧城市照明现状分析(1)
  • Android Studio Iguana | 2023.2.1版本
  • 基于斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)的无人机三维路径规划(MATLAB)
  • 检测虚拟机环境的常见技术
  • 前端架构: 脚手架通用框架封装之添加测试框架(教程六)
  • css相邻元素边框重合问题,解决方案
  • 【内推】新风口-大模型独角兽公司minimax
  • MySQL GTID 简介 原理 应用场景 优点 注意事项
  • vue 在线预览word
  • java继承,接口,抽象类
  • ----------
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • k8s如何管理Pod
  • php的插入排序,通过双层for循环
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • QQ浏览器x5内核的兼容性问题
  • SpringBoot 实战 (三) | 配置文件详解
  • underscore源码剖析之整体架构
  • 搭建gitbook 和 访问权限认证
  • 工作中总结前端开发流程--vue项目
  • 关于Flux,Vuex,Redux的思考
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 聚簇索引和非聚簇索引
  • 聚类分析——Kmeans
  • 聊聊sentinel的DegradeSlot
  • 少走弯路,给Java 1~5 年程序员的建议
  • 小程序01:wepy框架整合iview webapp UI
  • 小李飞刀:SQL题目刷起来!
  • 追踪解析 FutureTask 源码
  • linux 淘宝开源监控工具tsar
  • Nginx实现动静分离
  • Python 之网络式编程
  • 如何正确理解,内页权重高于首页?
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #php的pecl工具#
  • #预处理和函数的对比以及条件编译
  • (2022 CVPR) Unbiased Teacher v2
  • (C#)获取字符编码的类
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (三)模仿学习-Action数据的模仿
  • (三分钟)速览传统边缘检测算子
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (十三)MipMap
  • (顺序)容器的好伴侣 --- 容器适配器