傅里叶变换的相关实验——matlab实现

这篇具有很好参考价值的文章主要介绍了傅里叶变换的相关实验——matlab实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

傅里叶变换的相关实验——matlab实现


图像变换是数字图像处理中常用的技术,在图像增强、图像复原、图像压缩编码等数字图像处理中,都会用到图像变换技术,傅里叶变换是数字图像处理中应用最广的一种变换。
  1. 从空间域到频率的唯一途径是进行傅里叶变换;

  2. 傅里叶变换有明确的物理意义,即任何时域连续的复杂波形,通过傅里叶变换都可以变成一系列简谐波之和;

  3. 傅里叶变换的频谱分析是全局性的;

  4. 傅里叶变换在频率域里是具有实部和虚部的复函数;

  5. 一维离散傅里叶频谱: ∣ F ( u ) ∣ = R 2 ( u ) + I 2 ( u ) |F(u)|=\sqrt{R^2(u)+I^2(u)} F(u)=R2(u)+I2(u) ;能量谱: E ( u ) = ∣ F ( u ) ∣ 2 E(u)=|F(u)|^2 E(u)=F(u)2

    相位谱: ϕ ( u ) = arctan ⁡ ( I ( u ) / R ( u ) ) \phi(u)=\arctan(I(u)/R(u)) ϕ(u)=arctan(I(u)/R(u))

一、实验目的

(1)通过实验进一步加深对图像傅立叶变换的理解;
(2)计算离散图像的傅里叶变换;
(3)掌握图像的傅里叶频谱图及离散傅里叶变换性质;
(4)掌握 MATLAB中的傅立叶变换函数;
(5)实现数字图像的傅立叶变换与反变换;
(6)了解相位谱和幅值谱的意义,并且分别重构;
(7)实现双谱重构实验

二、实验原理

对数字图像 f ( x , y ) f(x,y) f(x,y),其二维离散傅里叶变换定义为:
F ( u , v ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − j 2 π ( u x M + v y N ) F(u,v)=\frac{1}{\sqrt{MN}}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y) e^{-j2\pi(\frac{ux}{M}+\frac{vy}{N})} F(u,v)=MN 1x=0M1y=0N1f(x,y)ej2π(Mux+Nvy)
其中,u=0,1,…,M-1,v=0,1,…,N-1。

二维离散傅里叶反变换定义为:
f ( x , y ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 F ( u , v ) e j 2 π ( u x M + v y N ) f(x,y)=\frac{1}{\sqrt{MN}}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}F(u,v) e^{j2\pi(\frac{ux}{M}+\frac{vy}{N})} f(x,y)=MN 1x=0M1y=0N1F(u,v)ej2π(Mux+Nvy)
其中,x=0,1,…,M-1,y=0,1,…,N-1。

傅里叶频谱:
∣ F ( u , v ) ∣ = R 2 ( u , v ) + I 2 ( u , v ) |F(u,v)|=\sqrt{R^2(u,v)+I^2(u,v)} F(u,v)=R2(u,v)+I2(u,v)
能量谱:
E ( u , v ) = ∣ F ( u , v ) ∣ 2 E(u,v)=|F(u,v)|^2 E(u,v)=F(u,v)2
相位谱:
ϕ ( u , v ) = arctan ⁡ I ( u , v ) R ( u , v ) \phi(u,v)=\arctan\frac{I(u,v)}{R(u,v)} ϕ(u,v)=arctanR(u,v)I(u,v)
注意:正反傅里叶变换的唯一区别是幂的符号。

图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅里叶变换在实际中有非常明显的物理意义,设 f 是一 个能量有限的模拟信号,则其傅里叶变换就表示 f 的谱。
从纯粹的数学意义上看,傅里叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅里叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅里叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅里叶逆变换是将图像的频率分布函数变换为灰度分布函数。

不同频率信息在图像结构中有不同的作用:

  • 图像的主要成分是低频信息,它形成了图像的基本灰度等级,对图像结构的决定作用较小;
  • 中频信息决定了图像的基本结构,形成了图像的主要边缘结构;
  • 高频信息形成了图像的边缘和细节,是在中频信息上对图像内容的进一步强化。

简短概括:

  • 图像的高频,意味着灰度变化剧烈
  • 图像的低频,意味着灰度变化平坦

另外说明以下几点:
图像经过二维傅里叶变换后,其变换系数矩阵表明:

  1. 若变换矩阵 Fn原点设在中心,其频谱能量集中分布在变换系数矩阵的中心附近。若所用的二维傅里叶变换矩阵 Fn 的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅里叶 变换本身性质决定的。同时也表明一般图像能量集中低频区域。
  2. 变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明
    低频的能量大(幅角比较大)。

三、实验准备

了解matlab实现傅里叶变换的相关函数

函数名 作用
fft2 二维快速傅里叶正变换
ifft2 二维快速傅里叶反变换
fftshift 将傅里叶变换原点移到中心
ifftshift fftshift的反变换
real 复数的实部
imag 复数的虚部

注意:傅里叶变换一般都将利用平移性质,将中心移到零点。

  1. fft2
    傅里叶变换的相关实验——matlab实现
  2. ifft2
    傅里叶变换的相关实验——matlab实现
  3. fftshif
    傅里叶变换的相关实验——matlab实现
  4. ifftshift
    傅里叶变换的相关实验——matlab实现

四、实验内容

1.图像傅里叶正反变换实验

利用 MATLAB 对图像进行离散傅里叶正变换及反变换,分析图像的傅里叶频谱

(1)首先, 生成一幅大小为 512*512 的黑色背景的中间叠加一个尺寸为 40*40 的白色矩阵的图像实现傅里叶正反变换;

matlab代码如下:

%% 生成一幅大小为 512*512 的黑色背景的中间叠加一个尺寸为 40*40 的白色矩阵的图像实现傅里叶正反变换;
clc;clear;close all;    % 初始化
i=zeros(512,512);   % 生成512*512为0的矩阵
i(236:276,236:276)=1;   % 中间40*40赋值为1
i=im2double(i); % 将数据类型转换为double,数值范围变为[0,1]
i1=fft2(i); % 快速傅里叶变换
i2=fftshift(i1); % 将傅里叶变换进行象限转换,即将中心移到零点
i3=abs(i2); % 求傅里叶变换的模,将复数的double变成实数的double
i4=log(i3+1);   % 将傅里叶变换结果的幅值映射到较小的正数
subplot(121);imshow(i);title('原图');
subplot(122);imshow(i4,[]);title('傅里叶变换频谱'); %显示傅里叶变换结果图,映射到[0,1]

运行结果如下:
傅里叶变换的相关实验——matlab实现
(2)将相应的数字图像进行傅立叶变换并且反变换

matlab代码如下:

%% 将相应的数字图像进行傅立叶变换并且反变换
clc;clear;close all;    % 初始化
i=imread('C:\Users\xcz\Desktop\matlab_example\Images\lena.bmp');
i=rgb2gray(i);  % 将真彩色图像转换为灰度图像
i=im2double(i); % 将数据类型转换为double,数值范围变为[0,1]
i1=fft2(i); % 进行快速傅里叶变换
i2=fftshift(i1);  % 将傅里叶变换进行象限转换,即将中心移到零点
i3=abs(i2); % 求傅里叶变换结果的模,即傅里叶频谱
i4=log(i3+1);   % 将傅里叶变换结果映射到较小的正数
i5=ifftshift(i2);   % 将变换的象限转换回去,即将中心复位
i6=ifft2(i5);   % 快速傅里叶反变换
subplot(131);imshow(i);title('原图');
subplot(132);imshow(i4,[]);title('傅里叶变换频谱');%显示傅里叶变换结果图,映射到[0,1]
subplot(133);imshow(i6);title('傅里叶逆变换图像');

运行结果如下:
傅里叶变换的相关实验——matlab实现

2. 傅里叶变换性质实验

通过实验加深对傅立叶变换几个性质的理解,包括平移性质、尺度变换性质、旋转特性。

(1)平移性质:当空域中f(x,y)产生移动时,在频域中只发生相移,并不影响它的傅立叶变换的幅值。

%% 傅里叶变换平移性质:
%% 当空域中f(x,y)产生移动时,在频域中只发生相移,并不影响它的傅立叶变换的幅值。
clc;clear;close all;    % 初始化
i1=zeros(512,512);   % 生成512*512为0的矩阵
i1(236:276,236:276)=1;   % 中间40*40赋值为1
i1=im2double(i1); % 将数据类型转换为double,数值范围变为[0,1]
i2=zeros(512,512);   % 生成512*512为0的矩阵
i2(36:76,36:76)=1;   % 左上角40*40赋值为1 xy皆发生了移动
i2=im2double(i2); % 将数据类型转换为double,数值范围变为[0,1]
% i1为图1,i2为图2,相对图1 中间白色部分向左上角移动了
% 对图1进行傅里叶变换
i1_fft=fftshift(fft2(i1));  % 进行傅里叶变换,并且象限转换
i1_margian=abs(i1_fft); % 求模,即幅值谱
i1_phase=angle(i1_fft); % 相位谱
% 对图2进行傅里叶变换
i2_fft=fftshift(fft2(i2));  % 进行傅里叶变换,并且象限转换
i2_margian=abs(i2_fft); % 求模,即幅值谱
i2_phase=angle(i2_fft); % 相位谱
subplot(231);imshow(i1);title('图1');
subplot(232);imshow(i2);title('图2');
subplot(233);imshow(log(i1_margian+1),[]);title('图1幅值谱');  % 参数'[]'是为了将其值线性拉伸
subplot(234);imshow(i1_phase,[]);title('图1相位谱');   
subplot(235);imshow(log(i2_margian+1),[]);title('图2幅值谱');
subplot(236);imshow(i2_phase,[]);title('图2相位谱');

运行结果如下:
傅里叶变换的相关实验——matlab实现
由结果可知,图像中某一部位的位置改变并不会改变图像的幅度谱,因为幅度谱表示各像素点的亮度信息,但具体点是被打乱的,所以幅度谱并不会改变。而相位谱因为记录了图像的所有点的相位信息,所以当图像中部分的位置发生改变时,相位谱会随之变化。

由实验可知,因为傅里叶变换的平移性质,当空域中f(x,y)产生移动时,在频域中只发生相移,并不影响它的傅立叶变换的幅值,即相位谱会发生改变,而幅值谱不会改变。

(2)尺度变换:当空域中f(x,y)产生缩放时,频域中傅立叶变换的幅值也相应的缩放。

%% 尺度变换:
%% 当空域中f(x,y)产生缩放时,频域中傅立叶变换的幅值也相应的缩放。
clc;clear;close all;    % 初始化
I=imread('C:\Users\xcz\Desktop\matlab_example\Images\lena.bmp');
I=im2double(I);     % 将数据类型转换为double,数值范围改为[0,1]
I=rgb2gray(I);  %将真彩色图像转换为灰度图像
I1=imresize(I,0.5,'bicubic');   % 将图像缩小0.1倍,使用三次内插法
I2=imresize(I,5,'bicubic');   % 将图像放大5倍,使用三次内插法

% 分别求三幅图的幅值谱
I_fft=fftshift(fft2(I));    %进行傅里叶变换,并且进行象限转换
I_margian=abs(I_fft);   % 幅值谱

I1_fft=fftshift(fft2(I1));   
I1_margian=abs(I1_fft);  

I2_fft=fftshift(fft2(I2));   
I2_margian=abs(I2_fft);   
subplot(231);imshow(I);title('原图');axis on;
subplot(232);imshow(I1);title('缩放0.5倍');axis on;
subplot(233);imshow(I2);title('放大5倍');axis on;
 % 参数'[]'是为了将其值线性拉伸,log是为了更好显示图,加1是为了让图更亮
subplot(234);imshow(log(I_margian+1),[]);title('原图幅值谱');axis on;
subplot(235);imshow(log(I1_margian+1),[]);title('缩放0.5倍后幅值谱');axis on;
subplot(236);imshow(log(I2_margian+1),[]);title('放大5倍后幅值谱');axis on;

运行结果如下:
傅里叶变换的相关实验——matlab实现
由运行结果可知,随着图像的缩放,图像傅里叶变换后的幅值谱也相应的缩放

(3)旋转特性:如果f(x,y)旋转了一个角度,那么对应的傅立叶变换也旋转了相同的角度。

%% 旋转特性:
%% 如果f(x,y)旋转了一个角度,那么对应的傅立叶变换也旋转了相同的角度。
clc;clear;close all;    % 初始化
I=imread('C:\Users\xcz\Desktop\matlab_example\Images\lena.bmp');
I=im2double(I);     % 将数据类型转换为double,数值范围改为[0,1]
I=rgb2gray(I);  %将真彩色图像转换为灰度图像
I1=imrotate(I,45);  %将图片逆时针旋转45° 
I2=imrotate(I,90);  %将图片逆时针旋转90° 

% 分别求三幅图的幅值谱
I_fft=fftshift(fft2(I));    %进行傅里叶变换,并且进行象限转换
I_margian=abs(I_fft);   % 幅值谱

I1_fft=fftshift(fft2(I1));   
I1_margian=abs(I1_fft);  

I2_fft=fftshift(fft2(I2));   
I2_margian=abs(I2_fft);   
subplot(231);imshow(I);title('原图');axis on;
subplot(232);imshow(I1);title('逆时针旋转45°');axis on;
subplot(233);imshow(I2);title('逆时针旋转90°');axis on;
 % 参数'[]'是为了将其值线性拉伸,log是为了更好显示图,加1是为了让图更亮
subplot(234);imshow(log(I_margian+1),[]);title('原图幅值谱');axis on;
subplot(235);imshow(log(I1_margian+1),[]);title('旋转45°后幅值谱');axis on;
subplot(236);imshow(log(I2_margian+1),[]);title('旋转90°后幅值谱');axis on;

运行结果如下:
傅里叶变换的相关实验——matlab实现
由结果可知,随着图像的旋转,其傅里叶变换结果也旋转相同的角度。

3. 图像的幅值谱和相位谱及双谱重构实验

傅里叶变换的频谱一般分为幅值谱和相位谱,频谱是一个以频率为自变量的函数。频谱在每一个频率点的取值是一个复数。一个复数由模和辐角唯一地确定,所以可将频谱分解为幅度谱(即复数的模关于频率的函数)和相位谱(即复数的辐角关于频率的函数)。一般将频谱取模即是幅值谱

利用matlab求图像的频谱图、幅值谱和相位谱。并根据相位谱、幅值谱重建图像。

%% 利用matlab求图像的频谱图、幅值谱和相位谱
clc;clear;close all;    % 初始化
I=imread('cameraman.tif');
I=im2double(I);
I1=fft2(I); % 傅里叶变换
I2=fftshift(I1);    %象限转换
r=real(I2); i=imag(I2);     % 求图像频域的实部和虚部
margin=log(abs(I2+1));      %图像幅度谱,加log便于显示
%phase=log(angle(I2)*180/pi);     %图像相位谱
phase=angle(I2);
l=log(I2+1);   % 图像频谱 加1是为了让频谱图更亮
p1_r=ifft2(abs(I1));    %幅值谱重构 使用未进行象限转换的幅值谱
p2_r=ifft2(exp(1i*(angle(I1)))); %相位谱重构 使用未进行象限转换的相位谱
% 此处1i表示复数
subplot(231);imshow(I);title('原图');
subplot(232);imshow(l,[]);title('频谱图');
subplot(233);imshow(margin,[]);title('幅值谱');
subplot(234);imshow(phase,[]);title('相位谱');
subplot(235);imshow(p1_r,[]);title('幅值谱重构');
subplot(236);imshow(p2_r,[]);title('相位谱重构');

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

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

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

当使用双谱重构时:

%% 双谱重构关键代码
p3_r = ifft2(abs(I1).*exp(1i*(angle(I1))));%双谱重构
figure(1);imshow(p3_r,[]);title('双谱重构');

运行结果如下:
傅里叶变换的相关实验——matlab实现

4. 图像的相位谱和幅值谱重组实验

对两幅图像分别求其幅值谱和相位谱,将相位谱交换,分别进行图像重构。

matlab代码如下:

%% 对两幅图像分别求其幅值谱和相位谱,将相位谱交换,分别进行图像重构。
clc;clear;close all;    %初始化
I1=imread('baby.jpg');
I2=imread('car2.jpg');
% 将彩色图像转换为灰度图片并且调整为相同大小
I1=rgb2gray(I1);I2=rgb2gray(I2);
I2=imresize(I2,[300 300]);I1=imresize(I1,[300 300]);
% 求傅里叶变换
I1_fft=fft2(I1); I2_fft=fft2(I2);
% 分别求幅值谱和相位谱
I1_margain=abs(I1_fft); I1_phase=angle(I1_fft);
I2_margain=abs(I2_fft); I2_phase=angle(I2_fft);
% 交换相位谱并重建复数矩阵
I1_re=I1_margain.*cos(I2_phase)+I1_margain.*sin(I2_phase).*1i;
I2_re=I2_margain.*cos(I1_phase)+I2_margain.*sin(I1_phase).*1i;
% 傅里叶反变换
I1_re1=abs(ifft2(I1_re)); I2_re1=abs(ifft2(I2_re)); % 此处取模是为了取复试的实部
%% 法二 效果相同
I1_re2 = ifft2(I1_margain.*exp(1i*(I2_phase)));%双谱重构
I2_re2 = ifft2(I2_margain.*exp(1i*(I1_phase)));%双谱重构
% 显示图像
subplot(221);imshow(I1);title('男孩原图');
subplot(222);imshow(I2);title('汽车原图');
subplot(223);imshow(I1_re1,[]);title('男孩的幅值谱和汽车的相位谱组合');
subplot(224);imshow(I2_re1,[]);title('汽车的幅值谱和男孩的相位谱组合');

运行结果如下:
傅里叶变换的相关实验——matlab实现

五、实验总结

经过此次的实验,

  • 明白了傅里叶变换在matlab的具体实现,进一步理解了傅里叶变换的相关性质,如平移性质、尺度变换性质和旋转性质等;
  • 理解了相位谱、幅值谱的相关意义;
  • 掌握了几个傅里叶变换的函数,初步知道了空间域和频率域之间的区别和联系,以及图像的频率域的变化规律;

参考资料

图像傅里叶变换的幅度谱、相位谱以及双谱重构原图像_逸凌Time的博客-CSDN博客_图像的幅度谱和相位谱

数字图像处理:实验二 数字图像的傅里叶变换_nochengzi的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-410721.html

到了这里,关于傅里叶变换的相关实验——matlab实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • matlab快速傅里叶变换

    快速傅里叶变换(FFT)是数字信号处理中常用的算法之一,可以用于信号分析、滤波、频率估计和信号生成等。在 Matlab 中,快速傅里叶变换是一个重要的工具,可以快速地计算信号的频域表示,帮助研究人员更好地理解和分析信号。本文将介绍 Matlab 中的快速傅里叶变换及其

    2024年02月09日
    浏览(46)
  • Matlab:二维傅里叶变换

    fft2 函数将二维数据变换为频率空间。例如,您可以变换二维光学掩膜以揭示其衍射模式。 以下公式定义 m×n 矩阵 X 的离散傅里叶变换 Y。 i 是虚数单位,p 和 j 是值范围从 0 到 m–1 的索引,q 和 k 是值范围从 0 到 n–1 的索引。在此公式中,X 和 Y 的索引平移 1 位,以反映 M

    2023年04月17日
    浏览(43)
  • 图像Radon变换与傅里叶变换(matlab)

    图像变化的介绍 图像变换是将图像从空间域变换到变换域。图像变换的目的是根据图像在变换域的某些性质对其处理。通常这些性质在空间域内很难获取。在变换域内处理结束后,将处理的结果进行反转变换到空间域。 我们所看到的图像是在空域上的,其信息具有很强的相

    2024年02月05日
    浏览(49)
  • MATLAB——FFT(快速傅里叶变换)

    基础知识 FFT即快速傅里叶变换,利用周期性和可约性,减少了DFT的运算量。常见的有按时间抽取的基2算法(DIT-FFT)按频率抽取的基2算法(DIF-FFT)。 1.利用自带函数fft进行快速傅里叶变换 若已知序列 x = [ 4 , 3 , 2 , 6 , 7 , 8 , 9 , 0 ] x=[4,3,2,6,7,8,9,0] x = [ 4 , 3 , 2 , 6 , 7 , 8 , 9 , 0 ]

    2024年02月03日
    浏览(75)
  • MATLAB——DFT(离散傅里叶变换)

    题目1: 已知有限长序列x(n)为: x(n)=[0,1,2,3,4,5,6,7,8,9],求x(n)的DFT和IDFT。要求 1)画出序列傅里叶变换对应的|X(k)|和arg[X(k)]图形。 2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较。 知识点: DFT(Discrete Fourier Transform)和IDFT(Inverse Discrete Fourier Transform)是互为逆运算的变换

    2023年04月23日
    浏览(54)
  • 短时傅里叶变换(STFT)及matlab

    笔记~自用版~         短时傅里叶变换(Short-Time Fourier Transform, STFT)是一种时频分析方法,它将信号在时间域上分成若干个短时段,对每个短时段进行窗函数加窗后再做傅里叶变换,得到每个时刻的频率成分。与离散傅里叶变换(Discrete Fourier Transform, DFT)和连续傅里叶变换

    2024年02月08日
    浏览(41)
  • matlab傅里叶变换及矩阵数据统计

    目录 一、   设计任务及指标. 3 二、  设计过程. 3 1、   界面设计. 3 2、   具体设计. 5 傅里叶变换设计思路:. 5 按钮的回调函数:. 5 弹出式菜单部分:. 6 单选按钮部分:. 7 矩阵部分:. 8 三、  设计遇到问题及总结. 9 1.傅里叶变换部分. 9 2.修饰样式部分. 10 四、  课程学

    2024年04月23日
    浏览(41)
  • 【MATLAB图像处理】傅里叶变换--幅度谱、相位谱、逆变换

    fft2()  傅里叶正变换 fftshift()  频谱搬移-直流量(f=0)搬移至频谱中心 幅度谱只包含亮度信息(f),逆变换后由于没有位置信息(x,y)导致无法重构图像;相位谱只包含位置信息(x,y),逆变换后由于没有亮度信息(f)导致重构图像只有轮廓没有亮度。而同时利用幅度谱

    2024年02月11日
    浏览(41)
  • MATLAB 之 数值积分和离散傅里叶变换

    数值积分时研究定积分的数值求解方法,即借助于计算机,用数值逼近的方法近似计算定积分。 我们假设 I 1 = ∫ a b f ( x ) d x I_{1}=int_{a}^{b}f(x)mathrm{d}x I 1 ​ = ∫ a b ​ f ( x ) d x I 2 = ∫ a b p ( x ) d x I_{2}=int_{a}^{b}p(x)mathrm{d}x I 2 ​ = ∫ a b ​ p ( x ) d x 从高等数学中知道,当 ∣

    2024年02月08日
    浏览(44)
  • 用MATLAB计算序列的离散傅里叶变换

    MATLAB提供了用快速算法计算离散傅里叶变换的函数fft,其调用格式为: 其中, 调用参数xn为时域序列向量 , N为离散傅里叶变换区间长度。 当N大于xn的长度时,fft函数自动在xn后面补零,返回xn的N点离散傅里叶变换结果向量Xk。 当N小于xn的长度时,fft函数计算xn的前N个点构成

    2023年04月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包