当前位置: 首页 > 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函数的逆函数

相关文章:

傅里叶变换pytorch使用

参考视频:1 傅里叶变换原理_哔哩哔哩_bilibili 傅里叶变换是干嘛的: 傅里叶得到低频、高频信息,针对低频、高频处理能够实现不同的目的。 傅里叶过程是可逆的,图像经过傅里叶变换、逆傅里叶变换后,能够恢复到原始图像…...

LeetCode104 二叉树的最大深度

题目 给定一个二叉树 root ,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入:root [1,null,…...

使用Spring的AOP

使用Spring的AOP 一、AOP 的常用注解1.切面类Aspect2.Pointcut3.前置通知Before4.后置通知AfterReturning5.环绕通知Around6.异常通知AfterThrowing7.最终通知After8.切面顺序Order9.启用自动代理EnableAspectJAutoProxy 二、AOP注解方式开发三、AOP 全注解开发四、基于XML配置…...

爬虫之矛---JavaScript基石篇3<JavaScript构造函数的内部机制和应用(2)>

前言: 继续上一篇https://blog.csdn.net/m0_56758840/article/details/136592611 正文: 1.ES6中的类和构造函数的对应关系 A. 介绍ES6引入的类的概念和语法糖 类的概念: ES6引入了类(class)的概念,类是一种抽象的数据类型&…...

_note_05

1.说一说什么是函数重载? 函数签名相同除了 形参不同数据类型 函数签名相同除了 形参不同个数 2.void关键字的作用?返回值是void ,可以写return 吗? 函数无返回,使用void修饰; 可以只使用return使函数结束; 3.按要…...

将格蠹GDK8的cmake3.10升级为cmake3.15

#升级过程# 1、wget https://cmake.org/files/v3.15/cmake-3.15.0-rc1.tar.gz 2、tar -zxvf cmake-3.15.0-rc1.tar.gz 3 、cd cmake-3.15.0-rc1 4、./configure 5、sudo make install 6、reboot 7、查看cmake版本: geduergdk8:~$ cmake --version cmake ve…...

b树(一篇文章带你 理解 )

目录 一、引言 二、B树的基本定义 三、B树的性质与操作 1 查找操作 2 插入操作 3 删除操作 四、B树的应用场景 1 数据库索引 2 文件系统 3 网络路由表 五、哪些数据库系统不使用B树进行索引 1 列式数据库 2 图形数据库 3 内存数据库 4 NoSQL数据库 5 分布式数据…...

OD_2024_C卷_200分_7、5G网络建设【JAVA】【最小生成树】

package odjava;import java.util.Scanner;public class 七_5G网络建设 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 基站数量(节点数)int m sc.nextInt(); // 基站对数量(边数&…...

面试题:分布式锁用了 Redis 的什么数据结构

在使用 Redis 实现分布式锁时,通常使用 Redis 的字符串(String)。Redis 的字符串是最基本的数据类型,一个键对应一个值,它能够存储任何形式的字符串,包括二进制数据。字符串类型的值最多可以是 512MB。 Re…...

【学习心得】websocket协议简介并与http协议对比

一、轮询和长轮询 在websocket协议出现之前,要想实现服务器和客户端的双向持久通信采取的是Ajax轮询。它的原理是每隔一段时间客户端就给服务器发送请求找服务器要数据。 让我们通过一个生活化的比喻来解释轮询和长轮询假设你正在与一位不怎么主动说话的老大爷&…...

基于Token的身份验证:安全与效率的结合

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

Electron程序如何在MacOS下获取相册访问权限

1.通过entitiment.plist,在electron-builder签名打包时,给app包打上签名。最后可以通过codesign命令进行验证。 TestPhotos.plist electron-builder配置文件中加上刚刚的plist文件。 通过codesign命令验证,若出现这个,则说明成…...

uniapp让输入框保持聚焦状态,不会失去焦点

使用场景:当输入框还有发送按钮的时候,点击发送希望软键盘不消失,还可以继续输入,或者避免因输入图片标签造成的屏闪问题 多次尝试后发现一个很实用的方法,适用input输入框和editor输入框 解决办法:把cli…...

面试中如何介绍mysql的B+树

B树是B树的变体&#xff0c;也是一颗多路搜索树。在MySQL中&#xff0c;B树是为磁盘或者其他直接辅助存储设备所设计的一种平衡的查找树结构。其具有以下特点&#xff1a; 每个节点最多有m个子女&#xff0c;m阶的B树深度最多为m。非根节点关键值个数范围是⌈m/2⌉-1<k<m…...

【Linux C | 网络编程】多播的概念、多播地址、UDP实现多播的C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

AIGC实战——GPT(Generative Pre-trained Transformer)

AIGC实战——GPT 0. 前言1. GPT 简介2. 葡萄酒评论数据集3. 注意力机制3.1 查询、键和值3.2 多头注意力3.3 因果掩码 4. Transformer4.1 Transformer 块4.2 位置编码 5. 训练GPT6. GPT 分析6.1 生成文本6.2 注意力分数 小结系列链接 0. 前言 注意力机制能够用于构建先进的文本…...

微信小程序-入门

一.通过 Npm方式下载构建 1.下载和安装Npm&#xff1a;Npm https://docs.npmjs.com/downloading-and-installing-node-js-and-npm 或者 https://nodejs.org/en/download/ 未安装npm 提示 以下以安装node安装包为例 按任意键继续 安装完成后 2. 下载和安装小程序开…...

0102全排列和对换-行列式-线性代数

把n个不同的数排成一列&#xff0c;叫做这n个数的全排列&#xff08;排列&#xff09;。 一般情况&#xff0c; 1 , 2 , ⋯ , n 1,2,\cdots,n 1,2,⋯,n是n个数排列的标准次序。 当n个数的任一排列中两个数的先后次序与标准次序不同时&#xff0c;有说有一个逆序。 一个排列中所…...

面向对象的编程语言是什么意思?——跟老吕学Python编程

面向对象的编程语言是什么意思&#xff1f;——跟老吕学Python编程 面向对象是什么意思&#xff1f;面向对象的定义面向对象的早期发展面向对象的背景1.审视问题域的视角2.抽象级别3.封装体4.可重用性 面向对象的特征面向对象的开发方法面向对象程序设计基本思想实现 面向对象的…...

Spring Boot整合MyBatis Plus配置多数据源

Spring Boot 专栏&#xff1a;https://blog.csdn.net/dkbnull/category_9278145.html Spring Cloud 专栏&#xff1a;https://blog.csdn.net/dkbnull/category_9287932.html GitHub&#xff1a;https://github.com/dkbnull/SpringBootDemo Gitee&#xff1a;https://gitee.com/…...

构建AIGC内容工厂:DeOldify作为图像处理环节的自动化集成

构建AIGC内容工厂&#xff1a;DeOldify作为图像处理环节的自动化集成 你有没有想过&#xff0c;一个简单的文本描述&#xff0c;如何能像流水线一样&#xff0c;自动变成一段生动的彩色短视频&#xff1f;这听起来像是科幻电影里的场景&#xff0c;但现在&#xff0c;借助AIGC…...

AI时代新型的项目管理应该是什么样的?众

AI训练存储选型的演进路线 第一阶段&#xff1a;单机直连时代 早期的深度学习数据集较小&#xff0c;模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低&#xff0c;吞吐量极高&#xff0c;也就是“数据离…...

一个简洁易用的 Delphi JSON 封装库,基于 System.JSON`单元封装,提供更直观的 API廖

一、前言&#xff1a;什么是 OFA VQA 模型&#xff1f; OFA&#xff08;One For All&#xff09;是字节跳动提出的多模态预训练模型&#xff0c;支持视觉问答、图像描述、图像编辑等多种任务&#xff0c;其中视觉问答&#xff08;VQA&#xff09;是最常用的功能之一——输入一张…...

仅限前500名技术决策者获取:2026奇点大会《大模型工具调用成熟度评估矩阵》(含9维打分表+自测链接)

第一章&#xff1a;2026奇点智能技术大会&#xff1a;大模型工具调用 2026奇点智能技术大会(https://ml-summit.org) 工具调用范式的根本性演进 在2026奇点智能技术大会上&#xff0c;大模型工具调用&#xff08;Tool Use&#xff09;已从早期的提示工程驱动&#xff0c;跃迁…...

大模型工程化容灾落地难?揭秘头部AI公司正在用的5级备份分级策略与自动故障注入验证法

第一章&#xff1a;大模型工程化容灾备份方案设计 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化过程中&#xff0c;模型权重、训练检查点、推理缓存及元数据的高可用性与一致性是系统稳定运行的核心前提。容灾备份不能仅依赖传统周期快照&#xff0c;而需融合多…...

【青少年CTF S1·2026 公益赛】easy_php

<?php // 屏蔽报错&#xff0c;增加一点黑盒难度 error_reporting(0); // TIPS: FLAG在根目录下class Monitor {private $status;private $reporter;public function __construct() {$this->status "normal";$this->reporter new Logger();}public funct…...

AXI总线协议---关键信号时序解析与实战应用

1. AXI总线协议基础与核心信号解析 AXI&#xff08;Advanced eXtensible Interface&#xff09;总线协议是ARM公司推出的高性能片上总线标准&#xff0c;广泛应用于现代SoC设计和FPGA开发中。我第一次接触AXI是在一个图像处理项目里&#xff0c;当时为了调试DMA传输问题&#x…...

轻量级嵌入式电机控制库:面向差速机器人的裸机PWM驱动方案

1. 项目概述Simple_Robot_Motor_Control 是一个面向嵌入式机器人平台的轻量级电机控制库&#xff0c;专为资源受限的微控制器&#xff08;如 STM32F0/F1、ESP32-C3、nRF52832 或 ATmega328P&#xff09;设计。其核心目标并非提供工业级运动控制算法&#xff0c;而是以极简接口抽…...

AUTOSAR-S32 Design Studio与NXP S32K3 MCU开发环境配置全攻略

1. 开发环境准备&#xff1a;从零搭建AUTOSAR-S32 Design Studio 第一次接触NXP S32K3系列MCU开发时&#xff0c;最让人头疼的就是开发环境的搭建。我当初花了整整两天时间才把整个环境跑通&#xff0c;期间踩了不少坑。现在回想起来&#xff0c;如果有个详细的指南能少走很多弯…...

用ESP32-S3和Minimax API,我花了一个周末做了个会聊天的桌面摆件(附完整代码)

用ESP32-S3和Minimax API打造智能语音聊天摆件全攻略 周末闲来无事&#xff0c;我决定把书桌上那个积灰的木质摆件改造成一个能聊天的AI伙伴。整个过程从硬件选型到代码调试&#xff0c;踩了不少坑也收获了很多乐趣。下面就把这个项目的完整实现过程分享给大家&#xff0c;希望…...