傅立叶变换的实现—MATLAB(纯代码)
闲来无事,想验证一下MATLAB中内涵的f傅立叶变换fft2()和ifft2()正确不,于是就有了下面的代码和结果:该部分只是写了傅立叶变换,不是快速傅立叶变换,虽然运行结果都一样)。建议用不大于100×100的图片进行验证,原因不解释,自己去百度。
close all; clear all; clc
% A = [1 2 3 4; 5 6 7 8; 2 3 4 5; 4 5 6 7];
% A = imread('cameraman.tif');
A = imread('C:\Users\Administrator\Desktop\捕获3.png');
A = rgb2gray(A);
A = im2double(A);
B = fft2(A); %matlab 傅立叶变换调用函数,与自己写的进行对照
C = fftshift(B);[m,n] = size(A);
%傅立叶变换
for u=0:m-1for v=0:n-1sum = 0;for x=0:m-1e1 = exp(-i*2*pi*u*x/m);for y=0:n-1e2 = exp(-i*2*pi*v*y/n);sum = sum + A(x+1,y+1)*e1*e2;endendF(u+1,v+1) = sum;end
end
figure;
subplot(131);imshow(log(B));title('fft2公式的傅立叶变换图')
subplot(132);imshow(log(F));title('原公式公式的傅立叶变换图')
subplot(133);imshow(log(C));title('C')
C = ifft2(B);
%傅立叶逆变换
for x=0:m-1for y=0:n-1sum = 0;for u=0:m-1e1 = exp(i*2*pi*u*x/m);for v=0:n-1e2 = exp(i*2*pi*v*y/n);sum = sum + F(u+1,v+1)*e1*e2;endendf(x+1,y+1) = real(sum/(m*n));end
end
figure;
subplot(121);imshow(C,[]);title('fft2公式的傅立叶逆变换图')
subplot(122);imshow(f,[]);title('原公式公式的傅立叶逆变换图')
结果:
傅立叶变换的频谱图
逆变换后的图:
傅立叶变换的实现—MATLAB(纯代码)相关推荐
- matlab基于傅立叶变换的时域或频域算法计算多普勒频移,展示代码
可以使用MATLAB的Fourier变换函数fft()来计算多普勒频移.示例代码:%% 计算多普勒频移% 加载信号 x = load('signal.mat');% 计算傅立叶变换 X = fft(x ...
- 为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换
[纯技术帖]为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换来源: 陈诚--WECN的日志 写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,内容 ...
- 时域脉冲傅立叶变换(MATLAB)
采用MATLAB编程,对太赫兹脉冲波的时域波形进行傅立叶变换,画出幅度谱线和相位谱线.在网上没能找到相关代码的教程,只能自己根据师兄的指导来做一遍了. 1. MATLAB代码 clear variab ...
- matlab实现傅里叶变换_傅立叶变换求解偏微分方程和积分方程
本编文章探讨一下数学物理方法中一个常见的问题,即如何用傅立叶变换得到PDE或者积分方程的解.在文章的最后,会附上MATLAB的实现代码.学疏才浅,欢迎大家指点! 1. 什么是傅立叶变换? 从数学形式上 ...
- matlab prefourier,用matlab求单位阶跃函数的傅立叶变换fourier变换
傅立叶变换常常应用于在信号处理,其在信号处理中有着很重要的位置.下面我们就介绍一种最简单的傅立叶变换,即单位阶跃函数的傅立叶变换.然后用matlab实现单位阶跃函数的傅立叶变换. 1.傅立叶变换简介 ...
- 为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换?
https://www.douban.com/note/164400821/ 写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,绝大部分内容非我所原创.在此向多位原创作者致敬!!! ...
- 【转】为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换?...
写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,绝大部分内容非我所原创.在此向多位原创作者致敬!!!一.傅立叶变换的由来关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶 ...
- 边缘指示函数matlab,matlab图像处理——傅立叶变换边缘提取
第一部分 图像的傅立叶变换 一. 实验目的 1.了解图像变换的意义和手段: 2. 熟悉傅里叶变换的基本性质: 3. 熟练掌握FFT的方法及应用: 4. 通过实验了解二维频谱的分布特点: 5. 通过本实 ...
- 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识
本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...
最新文章
- python3位水仙花数计算
- 华为交换机默认vlan都是通的吗_【思唯网络学院】华为交换机常用的三种vlan划分方法...
- opencv1-加载、修改、保存图像
- Swift中的函数curring简介
- 10个最佳jQuery Lightbox效果插件收集
- layui totalRow 多层嵌套json_自定义 Behavior,实现嵌套滑动、平滑切换周月视图的日历...
- java对象占用内存的说法_JAVA 中关于对象成员占用内存的说法哪个正确 (3.0分)_学小易找答案...
- 根据城市首字母进行分类,区分多音字,获取城市首字母
- 如何寻找logo创意灵感?推荐这8个设计灵感网站
- Elastic 7.12 版重磅发布:读时模式、冻结层技术预览版和自动扩展功能正式发布
- 接收信号强度值dbm分析
- Simulink之S-function函数笔记之二
- 深入理解计算机系统 练习题3.8 理解计算机二元操作
- 【c++并发编程】pthread_create的使用
- 剪辑视频怎么添加背景视频
- matlab读.h5文件
- 微软TechEd大会着重宣传其虚拟化技术
- multienant oracle_甲骨文(Oracle Cloud)不愧是臭名昭著的垃圾公司
- Python字符编码转换Unicode和str
- 中国石油大学《人力资源开发与管理》第二次在线作业
热门文章
- 抑郁症最新研究进展(2021年11月)
- 设备管理器出现“未知USB设备”同时蓝牙不可用的解决方法
- Linux下Centos系统安装
- 问题 C: 小写转大写
- yarn集群下启动spark错误WARN:66 - Neither spark.yarn.jars nor spark.yarn.archive is set
- 【pkgs.org】linux/uinx依赖包源网站推荐+如何添加该网站到debian源
- Win10管理员用户被禁用,无法登陆系统
- 802.11ac linux驱动下载,下载的驱动程序Realtek 8811CU Wireless LAN 802.11ac USB NIC 1030.22.0405.2017...
- matlab中门函数怎么化,Matlab中函数tf2zp的解析
- JavaScript级联链表