实验六 图像的傅立叶变换

一.实验目的

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.图像的二维频谱在显示和处理时应注意什么?

  • 频率域中心化:在显示二维频谱时,通常会对其进行中心化处理,以使低频成分位于图像中心,而高频成分位于图像边缘。这有助于更直观地理解图像的频率特性。
  • 对数变换:频谱的幅度经常采用对数变换进行显示,以增强低幅度的频率分量,使其更易于观察。
  • 振铃效应:频谱显示中的振铃效应可能会影响图像的解释。这是由于在图像边界处存在突变,导致频谱中的高频成分较多。在处理图像时,应该注意这种效应,以避免不必要的影响。
  • 信息丢失:频谱显示通常只显示了频率分量,而丢失了图像的空间信息。因此,在处理图像时,必须考虑到这一点,以确保不会丢失关键的空间信息。
相关推荐
zhangfeng11331 小时前
openclaw skills 小龙虾技能 通讯仿真 matlab skill Simulink Agentic Toolkit,通过kimi找到,mcp通讯
开发语言·matlab·openclaw·通讯仿真
小O的算法实验室1 小时前
2025年IEEE TETCI,异构无人机取送货问题中的转运优化,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
chao1898448 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
沪漂阿龙8 小时前
AI大模型面试题:支持向量机是什么?间隔最大化、软间隔、核函数、LinearSVC 全面拆解
人工智能·算法·支持向量机
little~钰9 小时前
倍增算法和ST表
算法
知识领航员9 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
cskywit10 小时前
【CVPR2024】用Diffusion“造”遥感分割数据:SatSynth论文解读
人工智能·深度学习·计算机视觉
薛定e的猫咪10 小时前
因果推理研究方向综述笔记
人工智能·笔记·深度学习·算法
如何原谅奋力过但无声11 小时前
【灵神高频面试题合集06-08】反转链表、快慢指针(环形链表/重排链表)、前后指针(删除链表/链表去重)
数据结构·python·算法·leetcode·链表