用Matlab编程实现图像的傅立叶变换和逆变换并显示出来

% 用Matlab编程实现图像的傅立叶变换并显示出来
% 可进行傅立叶变换和逆变换恢复
clear all
close all
clc
I=imread('1.JPG');      % 读取图像
I=rgb2gray(I);          % 灰度处理
fftI=fft2(I);           % 二维离散傅立叶变换
sfftI=fftshift(fftI);   % 直流分量移到频谱中心
RR=real(sfftI);         % 取傅立叶变换的实部
II=imag(sfftI);         % 取傅立叶变换的虚部
A=sqrt(RR.^2+II.^2);    % 计算频谱幅值
B=(A-min(min(A)))./(max(max(A))-min(min(A)))*225; % 归一化
pha=angle(fftI);        % 计算复数的相位角
figure(1)               % 设定窗口
subplot(2,2,1),imshow(I);title('原图');
subplot(2,2,2),imshow(B);title('原图像的频谱');   % 显示原图像的频谱
subplot(2,2,3),imshow(log(B),[]);title('原图像的频谱');   % 显示原图像的频谱
subplot(2,2,4),imshow(pha);title('相位谱')
figure(2)
x=abs(ifft2(fftI));     % 取绝对值
magif=ifft2(abs(fftI)); % 二维离散傅里叶逆变换
phaif=ifft2(exp(1i*pha));   % 1i为复数单位,因为 i 容易和变量搞混了,所以matlab在使用符号函数求解时,其结果会推荐你使用 1i
subplot(1,3,1),imshow(phaif,[]);title('相位谱重建图像');
subplot(1,3,2),imshow(x,[]);title('频谱重建原图像')
subplot(1,3,3),imshow(magif,[]);title('幅度谱重建图像')

展示

处理图

重建图

用Matlab编程实现图像的傅立叶变换和逆变换并显示出来相关推荐

  1. 二维图像的傅立叶变换

    摘要:二维图像的傅立叶变换,与一维傅立叶相比,在理解上要抽象很多.我在网上找了几篇相对较好的文章,并用matlab自己做了几个实验图像,希望能对大家理解二维图像的傅立叶变换有所帮助. 关键字:二维傅立 ...

  2. matlab prefourier,用matlab求单位阶跃函数的傅立叶变换fourier变换

    傅立叶变换常常应用于在信号处理,其在信号处理中有着很重要的位置.下面我们就介绍一种最简单的傅立叶变换,即单位阶跃函数的傅立叶变换.然后用matlab实现单位阶跃函数的傅立叶变换. 1.傅立叶变换简介 ...

  3. Matlab数字图像处理——图像的空间变换

    Matlab空间变换函数 imtransform Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移.旋转.剪切.缩放).投影变换, 该函数可与 maketform 配合 ...

  4. Matlab编程实现图像滤镜效果(浮雕、怀旧色、连环画、羽化、素描、强光等)

    Matlab编程实现图像滤镜效果 实验的目的是按照PhotoShop中实现滤镜效果的步骤进行matlab程序编码,最后实现相应的滤镜效果.主要包含的滤镜效果有:浮雕效果.怀旧色风格.连环画效果.交叉冲 ...

  5. 单边指数信号的傅立叶matlab,实验四连续信号的傅立叶变换

    subplot(3,1,3);plot(w1,phai) %该三行用来得到相频特性图可得到完整图形. 例2.求2 11)(ω ω+=j F 的傅里叶逆变换)(t f . 解:编写如下M 文件, sym ...

  6. 离散傅立叶变换与逆变换

    一.怎样为一副图像增加一个通道 Mat A=(Mat_<double>(3,3)<<1,2,3,4,5,6,7,8,9);Mat B=Mat::zeros(A.size(),A ...

  7. opencv 傅立叶变换及其逆变换实例及其理解1

    傅立叶变换是把图像从空间域转化到频率域的变换. 空间域 一般的情况下,空间域的图像是f(x,y)=灰度级(0-255),形象一点就是一个二维矩阵,每个坐标对应一个颜色值. 频率域 先介绍几个概念 频率 ...

  8. opencv实现快速傅立叶变换和逆变换

    原文: http://www.tuicool.com/articles/VB3UNjf 说实话觉得网上很多人转载的文章的挺坑的,全部是opencv文档程序的翻译,看来看去都是那一 篇,真的没啥意思. ...

  9. 边缘指示函数matlab,matlab图像处理——傅立叶变换边缘提取

    第一部分 图像的傅立叶变换 一. 实验目的 1.了解图像变换的意义和手段: 2. 熟悉傅里叶变换的基本性质: 3. 熟练掌握FFT的方法及应用: 4. 通过实验了解二维频谱的分布特点: 5. 通过本实 ...

最新文章

  1. 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间
  2. 由system.currentTimeMillis() 获得当前的时间
  3. 互联网项目中MySQL应该选什么事务隔离级别
  4. C#之foreach语句
  5. 乐峰VS聚美,明星也要吃咸盐
  6. c++ string 与 char 互转 以及base64
  7. 使用response的writer
  8. echarts中graphic_Echarts实现折线图
  9. zabbix3.x添加H3C网络设备详解
  10. continue语句只用于循环语句中_流程控制(跳转语句)
  11. 计算机辅助与设计专业,计算机辅助设计与制造专业怎么样?
  12. python list 排序
  13. C语言小游戏 源码 推箱子
  14. C#昵图素材下载器源码可下我图、包图、千图等(带数据库)
  15. 傅里叶变换 ~ 什么是傅里叶变换?
  16. android 消息推送js,消息推送方式
  17. 网站Banner的代码
  18. 婴儿纸尿裤的综合分析
  19. 第 l 个数到第 r 个数的和
  20. ACL 2021 Question Answering

热门文章

  1. idea创建包时不分级展示的解决方案
  2. VMware vSphere6.0 服务器虚拟化部署安装图解
  3. VS2019 .NET4.7 C# 和Matlab混合编程 可能出错的地方及解决办法
  4. 《数据结构与算法》(十一)- 树、森林与二叉树的转换及哈夫曼树详解
  5. burpsuite进行第一次爬行审计
  6. 微信小程序+jsp+Mysql 电影详情的微信小程序 源代码+设计文档+说明文档
  7. wordpress仅用代码轻松实现网站蜘蛛爬行记录
  8. iOS开发之视频播放时出现播放不了的情况
  9. 用C语言实现简单的计算器
  10. ORAN专题系列-0: O-RAN快速索引