目的:读取图像 A(lena.tiff)和B(rice.tif),显示这两幅图像,对图像作傅立叶变换,显示图像的傅里叶幅度谱和相位谱。做傅立叶逆变换,显示重建图像。

图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度

对图像而言,图像的边缘部分是突变部分,变化较快,因此反应在频域上是高频分量;图像的噪声大部分情况下是高频部分;图像平缓变化部分则为低频分量。也就是说,傅立叶变换提供另外一个角度来观察图像,可以将图像从灰度分布转化到频率分布上来观察图像的特征。

imshow()函数:
imshwo()函数用于接收一个像素矩阵,显示该图像,其显示的参数有两种类型
unit8;像素在矩阵处理范围为0-255
double:若值大于1,转化为1,若小于1,转化为0

图像进行二维傅立叶变换得到频谱图,就是图像梯度的分布图,当然频谱图上的各点与图像上各点并不存在一一对应的关系,即使在不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点,实际是图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。
代码如下:

%%图像的傅里叶变换%%
imA=imread('rice.tif','tif'); %读取图像
imB=imread('lena.tiff','tif');
subplot(2,3,1);
imshow(imA);
title('原图像A');
subplot(2,3,2);
imshow(imB);
title('原图像B');
FA=fft2(imA);%对图像进行傅里叶变换
FB=fft2(imB);
fA=fftshift(FA); %对图像频谱进行移动,是0频率点在中心
fB=fftshift(FB);
sA=log(abs(fA));%获得傅里叶变换的幅度谱
sB=log(abs(fB));
phA=log(angle(fA)*180/pi);%获得傅里叶变换的相位谱
phB=log(angle(fB)*180/pi);
subplot(2,3,3);
imshow(sA,[]); %显示图像的度谱,参数与[]是为了将sA的值线形拉伸
title('图像A的傅里叶变换幅度谱');
subplot(2,3,4);
imshow(phA,[]); %显示图像傅里叶变换的相位谱
title('图像A傅里叶变换的相位谱');
subplot(2,3,5);
imshow(sB,[])
title('图像B的傅里叶变换幅度谱');
subplot(2,3,6);
imshow(phB,[]);
title('图像B傅里叶变换的相位谱');
A=ifft2(FA);%傅里叶反变换
B=ifft2(FB);
figure
subplot(1,2,1);
imshow(A,[]);
title('傅里叶反变换得到的A图像');
subplot(1,2,2);
imshow(B,[]);
title('傅里叶反变换的到的B图像');

结果如下:

图像傅里叶变换的幅度谱和相位谱的以及反变换相关推荐

  1. 案例解释图像傅里叶变换的幅度谱和相位谱的以及反变换

    目的:读取图像 A(lena.tiff)和B(rice.tif),显示这两幅图像,对图像作傅立叶变换,显示图像的傅里叶幅度谱和相位谱.做傅立叶逆变换,显示重建图像. 图像的频率是表征图像中灰度变化剧烈 ...

  2. 图像傅里叶变换的幅度谱、相位谱以及双谱重构原图像

    简单的求取下灰度图像的幅度谱和相位谱并进行双谱重构: 直接上代码: clear all Picture = imread('E:\others\Picture\Library.jpg');Pictur ...

  3. 交换两幅图像的幅度谱和相位谱,并重构图像

    转载自:http://blog.sina.com.cn/s/blog_909778ea0100y8ju.html 博主:科技狸的博客: 来源:新浪博客: 交换两幅图像的幅度谱和相位谱,并重构图像!!! ...

  4. 【MATLAB图像处理】傅里叶变换--幅度谱、相位谱、逆变换

    fft2()  傅里叶正变换 fftshift()  频谱搬移-直流量(f=0)搬移至频谱中心 I=imread('exp2.tif'); %读入原图像 I1=I(:,:,1:3); %四通道转为三通 ...

  5. 线性调频信号(LFM)的形式及幅度谱、相位谱特性

    线性调频信号在SAR系统中非常重要,其瞬时频率是时间的线性函数.该信号常用于信号的发射,以获得均匀的信号带宽,在接收信号中则来自传感器运动.本篇博客主要讨论线性调频信号的形式,及在matlab仿真中的 ...

  6. matlab求雷克子波相位谱,求雷克子波的振幅谱和相位谱的MATLAB程序,谢谢 !!!!!...

    %% 自己写了如下程序,望采纳! clc;clear;close all; %Ricker子波 f=40;dt=0.004; nw=6./f/dt; nw=2*floor(nw/2)+1; nc=fl ...

  7. 图像傅里叶变换,幅度谱,相位谱

    <span style="font-size:18px;">cl; img=imread('lena.jpg'); %img=double(img); f=fft2(i ...

  8. 图像二维离散傅里叶变换、幅度谱、相位谱

    clear, clc I = imread('...');F = fftshift(fft2(I)); % 对图像进行二维 DFT(fft2),并移至中心位置 magn = log(abs(F)); ...

  9. 使用matlab读取图像并通过matlab自带的fft2,fftshift,ifftshift,ifft2等函数获取该图像的傅里叶频谱图,幅度图,相位谱图,幅度图,相位谱图,幅度谱重建图以及相位谱重建

    %% 读取图像.预处理 Picture1 = imread('Cameraman.tif');tryPicture1=rgb2gray(Picture1); % 如果是RGB图像,转成灰度图 catc ...

最新文章

  1. 单摄像头+深度学习实现伪激光雷达,代码已开源
  2. 2021 年 7 月程序员工资统计,平均 15302 元
  3. day4(css优先级)
  4. bat脚本+vs2019编译openssl(x86 | x64) - (static | shared) - (debug | release)
  5. 高并发之并发容器,了解多少(从入门到超神)
  6. python识别12306验证码_Python3.4实现的12306最新验证码识别
  7. 会计电算化算不算计算机专业,成都会计学校会计电算化专业介绍
  8. 读取txt文件赋值到DataGridView中
  9. 从FTP下载文件带进度条
  10. atom python教程_对于新手来说 如何用atom搭建python的ide?
  11. 问题十:【总结】解决了问题四~问题九,vec3这个类的代码应该都能看懂了
  12. [转]使用Hyper-V BPA(Best Practices Analyzer-最佳化分析工具)
  13. 参考文献空格怎么空_参考文献中的标点符号后要不要加空格
  14. Kettle使用教程(问题)
  15. UG模具设计从入门到精通
  16. ADC知识(2)——直流参数(输入电压参考,参考电流输入,积分非线性误差,差分非线性误差)
  17. 芯片制造良率分析系统YMS
  18. 计算机与网络之间是红叉,雨林木风win7系统网络连接出现红叉无法上网的解决办法...
  19. _032_rationalRose_包图的画法
  20. 什么是VOLTE(2)

热门文章

  1. uniapp模拟导航栏,自定义导航栏的使用
  2. Unknown database ‘ ‘
  3. 【C++】继承(C++重中之重)(学习与复习兼顾)
  4. zoj 3898 Stean 高等数学 数值积分
  5. BeanFactory 和 ApplicationContext的区别
  6. ybt1223:An Easy Problem
  7. Linux与MySql学习之旅(一): 离线安装MySQL和问题解决
  8. 解决龙格现象matlab,matlab实现Lagrange多项式插值观察龙格现象
  9. STM32F767时钟树分析
  10. 2021安道拓企业研究数据报告_爱普搜汽车