数字图像处理实验 傅里叶变换及频域滤波 matlab

数字图像处理实验


前言

本文对图像进行傅里叶变换、显示频谱、相位谱等操作;并且利用两幅图像,验证了频谱和相位谱的重要性,得出合适的结论。

一、实验目的和要求:

1、基本的图像操作
2、编程实现快速傅立叶变换和反变换,显示频谱和相位谱
3、打开2幅图像,进行傅立叶变换,互换他们的频谱和相位谱
4、进行反傅立叶变换,画出原图像,注意对反变换的结果取实部或取模
5、根据结果,得出相应的结论

二、实验所用函数

1)fft2():二维快速傅立叶变换,返回变换的结果,注意是复数,复数的模称为幅频谱。
2)ifft2():二维快速傅立叶反变换,返回变换的结果,注意一般情况下是复数
3)abs():求取绝对值或复数的模
4)fftshift():频谱图中心点平移,中心点移到(N/2,N/2)处
5)rgb2gray():彩色图像转化为灰度图像
6)double():数据类型转换,变为双精度型
7)uint8():数据类型转换,变为无符号8位型

三、实验结果

1、图像的傅里叶变换

利用rgb2gray、fft2、fftshift、ifft2等函数对图像进行灰度处理、傅里叶变换、将频谱图中零频率成分移动至频谱图中心、傅里叶反变换等一系列操作。

img=imread('C:\Users\admin\Desktop\1.jpg');
subplot(2,2,1);imshow(img);title('原图');
f=rgb2gray(img); %对彩色图像做灰度处理
F=fft2(f);  %傅里叶变换
F1=log(abs(F)+1); %取模并进行缩放
subplot(2,2,2);imshow(F1,[]);title('傅里叶变换频谱图');
Fs=fftshift(F);  %将频谱图中零频率成分移动至频谱图中心
S=log(abs(Fs)+1);%取模并进行缩放
subplot(2,2,3);imshow(S,[]);title('频移后的频谱图');
fr=real(ifft2(ifftshift(Fs)));  %频率域反变换到空间域,并取实部
ret=im2uint8(mat2gray(fr));  %更改图像类型
subplot(2,2,4);imshow(ret),title('逆傅里叶变换');

在这里插入图片描述在这里插入图片描述

2、频谱和相位谱重要性的验证

验证思路:使用Matlab读取两张不同的图像信号,对其进行灰度处理,对灰度处理后的图像信号进行傅里叶变换后分别获取两张图像的幅度谱与相位谱,分别用一张图像的幅度谱与另外一张图像的相位谱重组,重构为新的图片。观察重组后图片的特点。
(为了方便实验,实验所用的两张图片像素都为300*187)

PA0=imread('D:\Desktop\2.jpg');
PB0=imread('D:\Desktop\3.jpg');
PA=rgb2gray(PA0);PB=rgb2gray(PB0);
%傅里叶变换
PAf=fft2(double(PA));
PBf=fft2(double(PB));
% 获取幅度谱与相位谱
PAf_AM=abs(PAf);PBf_AM=abs(PBf);
PAf_ph=angle(PAf);PBf_ph=angle(PBf);
%改变图片的幅度与相位,重组图像
F1=PAf_AM.*cos(PBf_ph)+PAf_AM.*sin(PBf_ph).*1j;%A幅度B相位
F2=PBf_AM.*cos(PAf_ph)+PBf_AM.*sin(PAf_ph).*1j;%B幅度A相位
%傅里叶逆变换
P1=abs(ifft2(F1));P2=abs(ifft2(F2));
%显示图像
figure(1)
subplot(1,2,1);imshow(PA0,[]);title('A原图');
subplot(1,2,2);imshow(PB0,[]);title('B原图');
figure(2)
subplot(1,2,1);imshow(PA,[]);title('灰度处理后的A图');
subplot(1,2,2);imshow(PB,[]);title('灰度处理后的B图');
figure(3)
subplot(1,2,1);imshow(P1,[]);title('A幅度B相位');
subplot(1,2,2);imshow(P2,[]);title('B幅度A相位')

在这里插入图片描述在这里插入图片描述在这里插入图片描述
结论:
经过一张图像的幅度谱与另外一张图像的相位谱重组,反变换之后得到的图像内容与其相位谱对应的图像大体一致,表明相位谱更重要一些,可以通过相位谱大致恢复原图像。

  • 8
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值