第四章 频率域滤波
1. 实现图像的傅里叶变换,显示其幅度谱的图像(要求0频在显示图像的中间位置)
程序代码:
% 二维图像FFT
clear
% 先创建一个简单的灰度图
% 设置图片的长宽
m=60;
n=60;
% 设置第一张图的底层灰度
ground_gray=4;
X=ones(m,n)*ground_gray;
% 设置表层灰度
front_gray=248;
% 设置表层的左上角的点的位置
m0=15;
n0=25;
% 表层宽度
step1=29;
step2=9;
% 给表层灰度赋值
X(m0:m0+step1,n0:n0+step2)=front_gray;
% 显示原灰度图
subplot(1,2,1)
imshow(uint8(X));
title('原灰度图')
% fft
F=fft2(X);
% 使0在中间
F=fftshift(F);
% 显示幅度谱
subplot(1,2,2)
% 对数增强
imshow(log(abs(F)+1),[]);
title('幅度谱')
输出结果:
2. 用理想低通滤波器在频率域实现低通滤波
程序代码:(这里用的是先fft转到频率域,滤波然后再ifft转回空间域图像)
% 理想低通滤