图像频域变换
一、实验目的
1、理解离散傅立叶变换的基本原理;
2、掌握应用MATLAB语言进行FFT及逆变换的方法;
3、熟悉图像在频域中的滤波处理方法,应用MATLAB语言实现简单的滤波处理。
二、实验要求
- 读取一幅灰度图像,显示这幅图像,对图像作傅立叶变换,显示频域振幅图像。作傅立叶逆变换,显示图像,看是否与原图像相同.
% 读取灰度图像
image = imread('1.jpg');
image_gray = rgb2gray(image);
% 显示原图像
figure;
imshow(image_gray);
title('原图像');
% 傅立叶变换
fftImage = fft2(image_gray);
% 频域振幅图像显示
B = abs(fftshift(fftImage));
figure;
imshow(log(1 + B), []);
title('频域振幅图像');
% 傅立叶逆变换
ifftImage = ifft2(fftImage);
% 显示逆变换后的图像
figure;
imshow(uint8(ifftImage));
title('逆变换后的图像');
实验结果图像:
原图像:
逆变后的图像:
频域振幅图像:
- 设计一个简单的理想低通滤波器(截止频率自选),对图像作频域低通滤波,再作反变换,观察滤波后的图像与原图像的区别。选取不同的截止频率,比较结果。
% 加载图像
img_origin = imread('1.jpg');
% 转换为灰度图像
img_gray = rgb2gray(img_origin);