实验六 图像的傅立叶变换

一.实验目的

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

  • 频率域中心化:在显示二维频谱时,通常会对其进行中心化处理,以使低频成分位于图像中心,而高频成分位于图像边缘。这有助于更直观地理解图像的频率特性。
  • 对数变换:频谱的幅度经常采用对数变换进行显示,以增强低幅度的频率分量,使其更易于观察。
  • 振铃效应:频谱显示中的振铃效应可能会影响图像的解释。这是由于在图像边界处存在突变,导致频谱中的高频成分较多。在处理图像时,应该注意这种效应,以避免不必要的影响。
  • 信息丢失:频谱显示通常只显示了频率分量,而丢失了图像的空间信息。因此,在处理图像时,必须考虑到这一点,以确保不会丢失关键的空间信息。
相关推荐
Starry_hello world22 分钟前
C++ 快速幂算法
c++·算法·有问必答
石去皿1 小时前
力扣hot100 91-100记录
算法·leetcode·职场和发展
SsummerC2 小时前
【leetcode100】组合总和Ⅳ
数据结构·python·算法·leetcode·动态规划
2301_807611493 小时前
77. 组合
c++·算法·leetcode·深度优先·回溯
起个破名想半天了4 小时前
计算机视觉cv入门之答题卡自动批阅
人工智能·opencv·计算机视觉
早睡早起吧4 小时前
目标检测篇---Fast R-CNN
人工智能·目标检测·计算机视觉·cnn
程高兴4 小时前
基于Matlab的车牌识别系统
开发语言·matlab
SsummerC4 小时前
【leetcode100】零钱兑换Ⅱ
数据结构·python·算法·leetcode·动态规划
好易学·数据结构5 小时前
可视化图解算法:二叉树的最大深度(高度)
数据结构·算法·二叉树·最大高度·最大深度·二叉树高度·二叉树深度
程序员-King.5 小时前
day47—双指针-平方数之和(LeetCode-633)
算法·leetcode