实验六 图像的傅立叶变换

一.实验目的

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

  • 频率域中心化:在显示二维频谱时,通常会对其进行中心化处理,以使低频成分位于图像中心,而高频成分位于图像边缘。这有助于更直观地理解图像的频率特性。
  • 对数变换:频谱的幅度经常采用对数变换进行显示,以增强低幅度的频率分量,使其更易于观察。
  • 振铃效应:频谱显示中的振铃效应可能会影响图像的解释。这是由于在图像边界处存在突变,导致频谱中的高频成分较多。在处理图像时,应该注意这种效应,以避免不必要的影响。
  • 信息丢失:频谱显示通常只显示了频率分量,而丢失了图像的空间信息。因此,在处理图像时,必须考虑到这一点,以确保不会丢失关键的空间信息。
相关推荐
kisshyshy5 小时前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC16 小时前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
用户9385156350721 小时前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC1 天前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
饼干哥哥1 天前
Reddit VOC调研太慢?搭一个AI专家团队半小时洞察任何品类|以猫用饮水机为例
人工智能·算法·ai编程
地平线开发者1 天前
Transformer模型部署之性能优化指南
算法
地平线开发者1 天前
人在途中:从“编译失败”到“模型可落地”——CUDA 自定义算子
算法·自动驾驶
半个落月1 天前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
小月土星1 天前
JavaScript 快速排序:从 pivot、双指针到分治思想
javascript·算法·面试
小月土星1 天前
JavaScript 递归入门:从 1 到 n 求和,再到数组扁平化
javascript·算法·面试