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

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

对图像而言,图像的边缘部分是突变部分,变化较快,因此反应在频域上是高频分量(能量低,在变换后的图中,呈现黑灰色,内容见我的上一篇博客http://blog.csdn.net/goodshot/article/details/78488459);图像的噪声大部分情况下是高频部分;图像平缓变化部分则为低频分量(能量高,在变换后的图中,呈现黑灰色)。也就是说,傅立叶变换提供另外一个角度来观察图像,可以将图像从灰度分布转化到频率分布上来观察图像的特征。

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图像');

结果如下: 

附:

角速度和角频率是同一个物理量吗?

2012-02-03 09:37阅读:4,830
我们在学习圆周运动时有一个角速度ω,而在学习机械振动时又有一个角频率ω ,有的学生误认为这两个ω就是同一个物理量.其实这是一种错误的认识,以下我们通过对这两个物理量进行比较,来看它们的异同性. 
物体在转动时,角位移与所经历的时间的比值叫做角速度,即ω =△φ/△t.
在国际单位制中,它的单位是弧度/秒.当所取时间△t较长时,这一比值是平均角速度;当所取时间△t→0时,这一比值的极限就是即时角速度.角速度是描述物体转动的快慢和方向的物理量.只是在中学阶段还不考虑角速度的方向性,而将它作为标量来处理.
绕固定转动轴转动的物体上,任意点的角速度ω和线速度v的关系为v= ωr .如果物体每秒转动次数为n或者它转动一周所需时间为t,则有ω = 2πn =2π/t.
在简谐振动中,在单位时间内物体完成全振动的次数叫频率,用f表示,频率的2π倍叫角频率,即ω =2πf .在国际单位制中,角频率的单位也是弧度/秒.

频率是描述物体振动快慢的物理量,所以角频率也是描述物体振动快慢的物理量.频率、角频率和周期的关系为ω = 2πf = 2π/t.
在简谐振动中,角频率与振动物体间的速度 v 的关系为 v =ωasin( ωt + φ )
从以上我们可以看出,圆周运动中的角速度ω与简谐振动中的角频率ω,虽然单位相同且都有ω = 2π/t 的相同形式,但它们并不是同一个物理量.
若以一质点作匀速圆周运动和一个弹簧振子作简谐振动,比较角速度ω 与角频率ω的异同,列表如下:

名称

角速度

角频率

定义

单位时间内转动的角度

单位时间内完成全振动次数的2π倍

单位

弧度/秒

弧度/秒

性质

描述运动的快慢

描述振动的快慢

方向性

有方向性

无方向性

与n或f的关系

ω=2πn

ω = 2πf

与周期的关系

ω = 2π/t

ω = 2π/t

与哪些因素有关 与物体所受向心力有关 只由振动系统本身性质决定
与速度的关系 ω = v/r ( v为线速度) v = ωasin(ω t + φ ) (a为振幅) 我们往往在分析简谐振动时,采用参考圆法,那么参考点以角速度ω旋转时,它的投影就代表了给定的简谐振动的位移规律.这时参考点的角速度跟振动的角频率相对应.应该指出,用参考圆研究简谐振动仅仅只是一种方法,两种运动是不同性质的机械运动,它们之间没有什么必然的联系.

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

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

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

  2. 图像傅里叶变换的幅度谱和相位谱的以及反变换

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

  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. 【 MATLAB 】常用的离散时间序列的 Matlab 产生
  2. Tree命令安装和使用
  3. mysql 主键 下一个值_INNODB自增主键的一些问题 vs mysql获得自增字段下一个值
  4. 根据url获取html源码,通过URL访问和获取html源代码
  5. openshift_在OpenShift上扩展Java EE微服务
  6. 具有Couchbase,Java EE和WildFly的CRUD Java应用程序
  7. Linux下实现视频读取(二)---camera參数设定
  8. TCP滑窗与拥塞控制
  9. bootstrape实战案例_bootstrap 实战入门教程(一)
  10. android-activity生命周期方法
  11. 开源中国大佬是怎么用Selenium做自动化web测试的
  12. 在 Linux 命令行发送邮件的 5 种方法
  13. 信息论与编码2 BCH码的构造
  14. div内容上下左右居中
  15. Mybatis 中事务提交方式
  16. 超详细的抖音养号上热门技巧,看完这一篇就够了
  17. 网上订鲜花怎么配送?鲜花配送为何首选顺丰同城急送?
  18. windows10 如何使用 debug
  19. 适用于Windows11 任务栏开始菜单和图标,资源管理器显示异常修复的方法
  20. 从抄书到开源之巅:章亦春的程序人生

热门文章

  1. 算法题丨Next Permutation
  2. 基于jquery类库的绘制二维码的插件jquery.qrcode.js
  3. 2021年100题Java春招面试题
  4. 没有一款趁手的数据监控软件?试一下NetData不,用了你就绝对离不开他!
  5. MinIO Server config.json (v18) 指南
  6. Java多线程相关的几十个问题
  7. 使用adduser命令在Debian Linux中创建用户
  8. C语言,利用条件语句判断是否为三角形并输出面积
  9. Redis集群搭建~Redis-x64-3.2.100版本
  10. MySQL学习——操作存储过程