文章目录

  • 前言
  • 一、离散傅里叶变换
  • 二、二维离散傅里叶变换
  • 三、傅里叶级数将周期函数转换为不同正弦波的叠加

前言

图像变换

  • 一维离散变换
  • 二维离散变换
  • 傅里叶变换
  • 离散余弦变换

Matlab学习10-图像处理之傅里叶变换
傅里叶变换
优点:能从空间域和频率域两个不同的角度来看待问信号或图像。
缺点:傅里叶变换的收敛速度慢。


一、离散傅里叶变换

效果

代码

% 离散傅里叶变换示例。显示二维图、对称傅里叶幅度谱图像和傅里叶幅度图对数图像。
fxy=imread("img/F5_11a.bmp");
fxy=rgb2gray(fxy);
subplot(2,2,1),imshow(fxy),xlabel('原始图像');Fuv=fft2(fxy);
FftShiftAbs=fftshift(abs(Fuv));
subplot(2,2,2),imshow(FftShiftAbs,[]),xlabel('对称傅里叶变换图像');LogFftShiftAbs=log(FftShiftAbs);
subplot(2,2,3),imshow(LogFftShiftAbs,[]),xlabel('对称傅里叶幅度谱对称图像'),colormap(gray),colorbar;

二、二维离散傅里叶变换

效果

代码

% 二维离散傅里叶变换原理示例,显示二维图、傅里叶变换后的图,对称傅里叶幅度谱图像和他们的三维示意图。
A=1;
X=1;
Y=1;
uu=-1*pi:0.1:1*pi;
vv=-2*pi:0.1:2*pi;
[u,v]=meshgrid(uu,vv);
Fuv=A*X*Y*(sin(pi*u*X).*exp(-j*pi*u*X)./(pi*u*X)).*(sin(pi*v*Y).*exp(-j*pi*v*Y)./(pi*v*Y));subplot(2,2,1),mesh(u,v,real(Fuv)),xlabel('\itu'),ylabel('\itv'),zlabel('{\itG}({\itu},{\itv})'),title('(a) 傅里叶变换');
subplot(2,2,2),mesh(u,v,abs(Fuv)),xlabel('\itu'),ylabel('\itv'),zlabel('{\itG}({\itu},{\itv})'),title('(b) 傅里叶幅度谱');
subplot(2,2,3),plot(uu,Fuv),xlabel('\itu'),ylabel('{\itG}({\itu})'),title('(c) 傅里叶变换在u轴上的投影'),grid on;
subplot(2,2,4),plot(vv,Fuv),xlabel('\itv'),ylabel('{\itG}({\itv})'),title('(d) 傅里叶变换在v轴上的投影'),grid on;

三、傅里叶级数将周期函数转换为不同正弦波的叠加

效果

代码

% 使用傅里叶级数将周期函数转换为不同正弦波的叠加。
A=2;
x=-5:0.1:5;
%前一次谐波叠代
hold on;
fx1=A/2+2*A/pi*(sin(1*pi*x/2)/1);
fxdd1=fx1;
subplot(2,3,1),plot(x,fxdd1,'k'),xlabel('(a)前一次谐波迭代');%前两次谐波叠代
hold on;
fx2=A/2+2*A/pi*(sin(1*pi*x/2)/1+sin(3*pi*x/2)/3);
fxdd2=fx1+fx2;
subplot(2,3,2),plot(x,fxdd2,'k'),xlabel('(b)前两次谐波迭代');%前三次谐波叠代
hold on;
fx3=A/2+2*A/pi*(sin(1*pi*x/2)/1+sin(3*pi*x/2)/3+sin(5*pi*x/2)/5);
fxdd3=fx1+fx2+fx3;
subplot(2,3,3),plot(x,fxdd3,'k'),xlabel('(c)前三次谐波迭代');%前四次谐波叠代
hold on;
fx4=A/2+2*A/pi*(sin(1*pi*x/2)/1+sin(3*pi*x/2)/3+sin(5*pi*x/2)/5+sin(7*pi*x/2)/7);
fxdd4=fx1+fx2+fx3+fx4;
subplot(2,3,4),plot(x,fxdd4,'k'),xlabel('(d)前四次谐波迭代');%前五次谐波叠代
hold on;
fx5=A/2+2*A/pi*(sin(1*pi*x/2)/1+sin(3*pi*x/2)/3+sin(5*pi*x/2)/5+sin(7*pi*x/2)/7+sin(9*pi*x/2)/9);
fxdd5=fx1+fx2+fx3+fx4+fx5;
subplot(2,3,5),plot(x,fxdd5,'k'),xlabel('(e)前五次谐波迭代');%前四十次谐波叠代
hold on;
syms n;
k=symsum(2*A/pi*sin((2*n+1)*pi*x/2)/(2*n+1),0,39);
fxdd80=A/2+subs(k);
subplot(2,3,6),plot(x,fxdd80,'k'),xlabel('(f)前40次谐波迭代'),box off;

点击获取源码

Matlab学习10-图像处理之傅里叶变换相关推荐

  1. [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项

    [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项 1. 背景 现有长度为11年的5个时间序列,为某拟研究对象的5个参数.现计划先通过快速傅里叶变换求每个系数序列的显著周期项,再分别按照傅里 ...

  2. Matlab学习笔记(3)—GUI程序设计与图像处理基本操作

    Matlab学习笔记(3)-GUI程序设计与图像处理基本操作 一.GUI程序设计 如果想要开始使用Matlab进行GUI编程,首先需要进入Matlab的GUI界面对GUI有一个基本的认识. 1.gui ...

  3. 数字图像处理MATLAB学习笔记(一)

    数字图像处理MATLAB学习笔记(一) 灰度转换与空间滤波 本节主要使用Matlab语言进行灰度转换与空间滤波的使用 并对相关数学原理进行总结 1. Intensity Transformer Fun ...

  4. B站台湾大学郭彦甫|MATLAB 学习笔记|08 图像处理I Image Processing

    MATLAB学习笔记(08 图像处理I Image Processing) 如果想获得更好浏览体验的朋友可以转到下面链接 08 1. 基本操作 读取图像 imread() 展示图像 imshow() ...

  5. 数字图像处理MATLAB学习笔记(五)

    数字图像处理MATLAB学习笔记(五) Color Image Processing 1 Color Image Representation in MATLAB 这里不多说了,彩色图片在计算机中以R ...

  6. B站台湾大学郭彦甫|MATLAB 学习笔记|09 图像处理II Image Processing

    MATLAB学习笔记(09 图像处理II Image Processing) 如果想获得更好浏览体验的朋友可以转到下面链接 09 1. 提出问题 题目:如何找出图片中的米粒,并且确定他们的大小? 老师 ...

  7. 第 12 章 基于块匹配的全景图像拼接--Matlab深度学习实战图像处理应用

    第 12 章 基于块匹配的全景图像拼接–Matlab深度学习实战图像处理应用GUI实现 效果如图所示 完整案例 主函数文件 Gui_Main.m文件 function varargout = Gui_ ...

  8. Matlab学习一本通,matlab基础教程

    链接:https://pan.baidu.com/s/1uTCbiRfIxcrt6lmiy6_QlQ  提取码:f2dn  Matlab学习一本通,matlab基础教程 <MATLAB R201 ...

  9. 【基于MATLAB的数字图像处理】大作业·综合图像处理平台

    系列文章目录 ·[基于MATLAB的数字图像处理]第一章·绪论 ·[基于MATLAB的数字图像处理]第二章·视觉系统与图像处理系统 ·[基于MATLAB的数字图像处理]第三章·基本图像变换 ·[基于M ...

  10. 基于matlab的运动模糊图像处理,基于matlab运动模糊图像处理

    基于matlab运动模糊图像处理 基于 MATLAB 的运动模糊图像处 理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前 对于从网上下载的模糊图片的处理效果很不好, 这 ...

最新文章

  1. gis中的擦除_GIS案例分析 | 公园建设选址
  2. 独家 | 虚假疫苗网站如何获取你的个人信息
  3. .OCX、.dll文件注册命令Regsvr32的使用
  4. 有效可靠地管理大规模 Kubernetes 集群
  5. 【.NET深呼吸】基础:自定义类型转换
  6. Linux驱动程序的数据封装
  7. 马来游记(2)- 漂浮云顶间。。。
  8. Android查看wakeLock调用情况
  9. mysqlserver 下载安装
  10. puppet kick 报错返回值code3 求解答(finished with exit code 3)
  11. 应用程序白名单实现_如何在Windows 10上仅允许商店中的应用程序(和白名单桌面应用程序)...
  12. HTML CSS JS 网页设计作业「我的家乡」-广东
  13. java chmod 777_java中 执行shell中的chmod 777命令,出现Caused by: java.io.IOException: Permission denied???...
  14. 苹果cms采集接口配置教程
  15. word在图片上添加文字且不改变原图教程
  16. 研发工程师面试题整理
  17. 业内人士来说一下炫云渲染和渲染100云渲染使用真实感受吧
  18. “为物联网提供分散的隐私保护医疗区块链”外文翻译——2019年5月份
  19. 推荐 | CSP-JS信奥赛教材
  20. git clone出现 fatal: unable to access 'https://github.com/...'的解决办法(亲测有效)

热门文章

  1. BigGAN_用于高保真自然图像合成的大规模 GAN 训练
  2. 更新glibc版本-GLIBC升级有风险,操作前最好请预先写好离职申请书
  3. plsql使用很卡的情况
  4. 基于opencv的人脸识别
  5. 初中计算机课堂游戏设计方案,初中信息技术教案设计
  6. php特效表白代码,js爱心表白动画特效代码
  7. 星空特效HTML代码,旋转的星空特效代码
  8. ICML 2021奖项公布!谷歌大脑摘得桂冠,田渊栋、陆昱成获荣誉提名!
  9. 这些年,这些ACM大佬-施韩原访谈
  10. MRP格式的手机QQ2008软件介绍