2017-05-28 16:27:42 sinat_32290679 阅读数 25131

目的:读取图像 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图像');

结果如下:
图像傅里变换

傅里叶反变换

2019-03-20 22:19:05 qq_36554582 阅读数 2834

简单的求取下灰度图像的幅度谱和相位谱并进行双谱重构:
直接上代码:

clear all
Picture = imread('E:\others\Picture\Library.jpg');

Picture_Gray = rgb2gray(Picture);%灰度处理

Picture_FFT = fft2(Picture_Gray);%傅里叶变换
Picture_FFT_Shift = fftshift(Picture_FFT);%对频谱进行移动,是0频率点在中心
Picture_AM_Spectrum = log(abs(Picture_FFT_Shift));%获得傅里叶变换的幅度谱
Picture_Phase_Specture = log(angle(Picture_FFT_Shift)*180/pi);%获得傅里叶变换的相位谱
Picture_Restructure = ifft2(abs(Picture_FFT).*exp(j*(angle(Picture_FFT))));%双谱重构
figure(1)
subplot(221)
imshow(Picture_Gray)
title('原图像')
subplot(222)
imshow(Picture_AM_Spectrum,[])%显示图像的幅度谱,参数'[]'是为了将其值线性拉伸
title('图像幅度谱')
subplot(223)
imshow(Picture_Phase_Specture,[]);
title('图像相位谱')
subplot(224)
imshow(Picture_Restructure,[]);
title('双谱重构图')

运行结果:
在这里插入图片描述
图像的幅度谱代表的是图像各像素点的亮度信息,即该像素应该显示什么颜色,但是做出来的幅度谱却不知道每一点在原图像中具体是哪一点,即幅度谱虽然存储了各个像素点的幅值信息,但是原像素点的位置已经被打乱,所以仅凭幅度谱是没有办法重构原图像的。幅度谱的中心是低频部分,越亮的地方代表的幅度越大。幅度谱中“十”字形亮线表示原图像中水平和垂直方向的分量较其他方向要多,因为在人们周围的自然场景中水平和垂直的线条出现的可能性较大。
来看下仅有幅度谱重构出来的原图像:

Picture_Restructure = ifft2(abs(Picture_FFT));%幅度谱重构

在这里插入图片描述
可以看到仅有幅度谱重构出来的图像啥也不是,,,

而相位谱记录的是所有点的相位信息,看起来相位谱是一团噪声,这也说明相位信息是以一种更为隐蔽的方式出现在人们面前的,但它非常重要,因为相位信息中携带者图像的位置信息,没有它将无法从品频谱还原出原图像。
相位谱重构原图像:

Picture_Restructure = ifft2(exp(j*(angle(Picture_FFT))));%相位谱重构

在这里插入图片描述
可以看到仅有相位谱重构出来的图像还是可以看到一些轮廓信息的,利用相位谱记录的位置信息和幅度谱记录的亮度信息,就可以用双谱重构的方法恢复出原图像。

参考资料:
https://zhidao.baidu.com/question/324052986.html
https://blog.csdn.net/wujian_1205/article/details/56852399
https://blog.csdn.net/Struggle_For_M/article/details/51207370

2019-05-04 20:27:54 cool__girls 阅读数 1388

打开任意图像,进行傅里叶变换,画出频谱图、相位谱图以及实现位移后的频谱图和相位谱图。
I=imread(‘D:\picture.jpg’);
I=rgb2gray(I);
subplot(3,2,1);
imshow(I);
title(‘原始图像’);
F=fft2(I);
S=abs(F);
subplot(3,2,2);
imshow(S,[]);
title(‘频谱图’);
Fc=fftshift(F);
subplot(3,2,3);
imshow(abs(Fc),[]);
title(‘移频后’);
s2=log(1+abs(Fc));
subplot(3,2,4);
imshow(s2,[]);
title(‘log增强后的频谱图’);
r=real(F);
i=imag(F);
s1=log(1+abs(F));
phase=angle(F)*180/pi;
subplot(3,2,5); I=imread(‘D:\picture.jpg’);
I=rgb2gray(I);
subplot(3,2,1);
imshow(I);
title(‘原始图像’);
F=fft2(I);
S=abs(F);
subplot(3,2,2);
imshow(S,[]);
title(‘频谱图’);
Fc=fftshift(F);
subplot(3,2,3);
imshow(abs(Fc),[]);
title(‘移频后’);
s2=log(1+abs(Fc));
subplot(3,2,4);
imshow(s2,[]);
title(‘log增强后的频谱图’);
r=real(F);
i=imag(F);
s1=log(1+abs(F));
phase=angle(F)*180/pi;
subplot(3,2,5);
imshow(phase,[]);
title(‘相位谱图’);
r1=real(Fc);
i1=imag(Fc);
phase2=angle(Fc)*180/pi;
subplot(3,2,6);
imshow(phase2);
title(‘位移后相位谱图’);
imshow(phase,[]);
title(‘相位谱图’);
r1=real(Fc);
i1=imag(Fc);
phase2=angle(Fc)*180/pi;
subplot(3,2,6);
imshow(phase2);
title(‘位移后相位谱图’);
在这里插入图片描述

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

Γ(z)=0tz1etdt . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0开始我的操作确认?结束yesno
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

2019-07-04 13:42:39 weixin_39504171 阅读数 962

图像处理5:频谱、功率谱和能量谱

(1)频谱

         ①频谱的获得:

              对一个时域信号进行傅里叶变换,得到信号的频谱。

         ②频谱的组成:

              信号的频谱由两部分构成:幅度谱和相位谱。

         ③幅度谱和相位谱:

              在傅里叶分析中,把各个分量的幅度Fnl或Cn随着频率的变化称为信号的幅度谱。把各个分量的相位pn随着频率变化称为信号的相位谱。

 

(2)能量信号和功率信号

          ①能量信号:当且仅当f(t)在所有时间上的能量不为0且有限时,该信号为能量信号。一般来说,非周期的确定信号是能量信号。典型的能量信号如方波信号、三角波信号等。

          ②功率信号:当且仅当x(t)在所有时间上的功率不为0且有限时,该信号为功率信号。一般来说,周期信号和随机信号是功率信号。因为能量有限的信号功率为0,而功率有限的信号能量为无穷大,因此系统中的波形要么具有能值,要么具有功率值。

 

(3)能量谱

          能量谱,也称为能量谱密度,是指用密度的概念表示信号能量在各频率点的分布情况,反应能量随频率的变化。

          能量谱是信号幅度谱的模的平方,其量纲是焦/赫,对能量谱在频域上积分就可以得到信号的能量。对确定性的信号,特别是非周期的确定性信号,常用能量谱来描述。

 

(4)功率谱

           功率谱,也称为功率谱密度,是指用密度的概念表示信号功率在各频率点的分布情况,反应功率随频率的变化。

           功率谱是信号自相关函数的傅里叶变换,对功率谱在频域上积分就可以得到信号的功率,在工程实际中,即便是功率信号,由于持续的时间有限,可以直接对信号进行傅里叶变换,然后对得到的幅度谱的模求平方,再除以持续时间来估计信号的功率谱。

 

(5)功率谱的特例-白噪声

             白噪声是指功率谱密度在整个频域内均匀分布的噪声。白噪声是一种理想化模型,因为实际噪声的功率谱密度不可能具有无限宽的带宽,否则它的功率将是无限大是物理上不可实现的。

             一般来说,只要一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽,并且在该带宽中其频谱密度本上可以作为常数来考虑,就可以把它作为白噪声来处理。例如,热噪声和散弹噪声在很宽的频率范围内具有均匀的功率谱密度,通常可以认为是白噪声。

2017-02-24 19:47:51 wujian_1205 阅读数 2043
学习傅里叶图像变换的过程中,看到知乎上一个问题“为什么用图像二维傅里叶变换的相位谱进行反变换,能够大致得到原图的形状,而幅度谱则不行呢?”,然后思考了一下,理清楚思路,记录下来。




在傅里叶变换世界里,我们普通常见的图像都是由一组组正弦波组成。由中学知识我们知道频率相位幅度即可决定一个正弦波y=Acos(ωx+φ)的全部特征。




DFT变换得到图像的谱(傅里叶谱或称为频谱)分量,这些谱分量含有组成图像信号的正弦波的幅度信息。傅里叶谱中说明了各种正弦波的幅度信息,幅度越大,图像中该频率的正弦波越突出,幅度越小,该频率处正弦波较少。我们可以把幅度信息理解为图像上灰度变化的程度,灰度变化明显的地方就是图像的边缘信息。知道幅度幅度信息就知道了整个图像由哪些正弦波组成的。有了谱,就知道图像是有哪些频率的正弦波所组成以及这些正弦波的幅度。




但是到此我们还不知道这些组成图像的正弦波的相位信息。这时候我们就需要用到图像的相位谱,相位谱告诉我们每一种频率分量的相位信息。在二维傅里叶变换中,相位信息表征了各个正弦分量偏离原点的程度,也就是每一个正弦波在图像中的位置。




有了以上两种信息,我们就知道,图像由什么波组成,波的幅度是多少,各个波在什么位置。所以有了频谱信息,有了相谱信息,OK,完美了。
没有更多推荐了,返回首页