实验六 图像的傅立叶变换

一.实验目的

1了解图像变换的意义和手段;

2熟悉傅立叶变换的基本性质;

3熟练掌握FFT变换方法及应用;

4通过实验了解二维频谱的分布特点;

5通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。

6评价人眼对图像幅频特性和相频特性的敏感度。

二.实验内容

1. 将图像内容读入内存;

2. 用Fourier变换算法,对图像作二维Fourier变换;

3. 将其幅度谱进行搬移,在图像中心显示;

4. 用Fourier系数的幅度进行Fourier反变换;

5. 用Fourier系数的相位进行Fourier反变换;

6. 比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。

7. 记录和整理实验报告。

三.实验程序、实验结果与实验分析

1.实验程序

I = imread('Lenna.jpg');

I_gray = rgb2gray(I);

figure;

subplot(2, 2, 1);

imshow(I);

title('原始图像');

F = fft2(double(I_gray));

F_shifted = fftshift(F);

amplitude_spectrum = log(1 + abs(F_shifted));

subplot(2, 2, 2);

imshow(amplitude_spectrum, []);

title('幅度谱');

reconstructed_amplitude = ifft2(abs(F));

reconstructed_phase = ifft2(exp(1i * angle(F)));

subplot(2, 2, 3);

imshow(mat2gray(abs(reconstructed_amplitude)));

title('使用幅度谱的反变换结果');

subplot(2, 2, 4);

imshow(mat2gray(abs(reconstructed_phase)));

title('使用相位谱的反变换结果');

2.实验结果

3.实验分析

①读取图像,转换为灰度图像以简化处理

I = imread('Lenna.jpg');

I_gray = rgb2gray(I);

②用Fourier变换算法对图像作二维Fourier变换

F = fft2(double(I_gray));

③将幅度谱进行搬移,在图像中心显示

F_shifted = fftshift(F);

amplitude_spectrum = log(1 + abs(F_shifted));

④显示幅度谱

subplot(2, 2, 2);

imshow(amplitude_spectrum, []);

title('幅度谱');

⑤用Fourier系数的幅度进行Fourier反变换

reconstructed_phase = ifft2(exp(1i * angle(F)));

⑥用Fourier系数的相位进行Fourier反变换

reconstructed_phase = ifft2(exp(1i * angle(F)));

⑦显示幅度谱反变换结果

subplot(2, 2, 3);

imshow(mat2gray(abs(reconstructed_amplitude)));

title('使用幅度谱的反变换结果');

⑧显示相位谱反变换结果

subplot(2, 2, 4);

imshow(mat2gray(abs(reconstructed_phase)));

title('使用相位谱的反变换结果');

四.思考题

1.傅里叶变换有哪些重要的性质?

  • 线性性:傅里叶变换是线性的,即对于任意标量α和β以及函数f(x)和g(x),有F(αf(x) + βg(x)) = αF(f(x)) + βF(g(x))。
  • 平移性:如果f(x)的傅里叶变换是F(u),则f(x - x0)的傅里叶变换是F(u) * exp(-i2πux0)。
  • 对称性:实函数的傅里叶变换具有对称性,即实函数的傅里叶变换的实部是偶函数,虚部是奇函数。
  • 频率域的微分:对于函数f(x)和其傅里叶变换F(u),其导数在频率域上的傅里叶变换是iuF(u)。
  • 卷积定理:傅里叶变换将卷积操作转换为点乘操作,即f(x) * g(x)的傅里叶变换是F(u)G(u)。

2.图像的二维频谱在显示和处理时应注意什么?

  • 频率域中心化:在显示二维频谱时,通常会对其进行中心化处理,以使低频成分位于图像中心,而高频成分位于图像边缘。这有助于更直观地理解图像的频率特性。
  • 对数变换:频谱的幅度经常采用对数变换进行显示,以增强低幅度的频率分量,使其更易于观察。
  • 振铃效应:频谱显示中的振铃效应可能会影响图像的解释。这是由于在图像边界处存在突变,导致频谱中的高频成分较多。在处理图像时,应该注意这种效应,以避免不必要的影响。
  • 信息丢失:频谱显示通常只显示了频率分量,而丢失了图像的空间信息。因此,在处理图像时,必须考虑到这一点,以确保不会丢失关键的空间信息。
相关推荐
孤亭远见1 小时前
COMSOL with Matlab
matlab
XH华3 小时前
初识C语言之二维数组(下)
c语言·算法
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
图南楠3 小时前
simulink离散传递函数得到差分方程并用C语言实现
matlab
不想当程序猿_3 小时前
【蓝桥杯每日一题】求和——前缀和
算法·前缀和·蓝桥杯
落魄君子4 小时前
GA-BP分类-遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)
算法·分类·数据挖掘
菜鸡中的奋斗鸡→挣扎鸡4 小时前
滑动窗口 + 算法复习
数据结构·算法
信号处理学渣4 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
Lenyiin4 小时前
第146场双周赛:统计符合条件长度为3的子数组数目、统计异或值为给定值的路径数目、判断网格图能否被切割成块、唯一中间众数子序列 Ⅰ
c++·算法·leetcode·周赛·lenyiin
郭wes代码4 小时前
Cmd命令大全(万字详细版)
python·算法·小程序