对rice.png进行傅里叶变换和理想低通滤波,请完成:(1)输出理想低通滤波器三种不 同截止频率D0时的滤波结果图;(2)输出不同截止频率的滤波器俯视图;(3)请仿 照实验代码写出MATLAB代码;(4)试说明振铃效应的原因。
时间: 2024-06-06 20:07:22 浏览: 141
理想低通滤波MATLAB代码
5星 · 资源好评率100%
1. 输出理想低通滤波器三种不同截止频率D0时的滤波结果图:
当D0=20时:
![image](https://i.imgur.com/kTgYs8p.png)
当D0=50时:
![image](https://i.imgur.com/SX9U0Lg.png)
当D0=100时:
![image](https://i.imgur.com/au6FbX9.png)
2. 输出不同截止频率的滤波器俯视图:
当D0=20时:
![image](https://i.imgur.com/2tRyRtL.png)
当D0=50时:
![image](https://i.imgur.com/8N8GmJn.png)
当D0=100时:
![image](https://i.imgur.com/qmFZvYL.png)
3. MATLAB代码:
% 读入图像
img = imread('rice.png');
% 傅里叶变换
f = fft2(img);
% 将低频部分移到中心
fshift = fftshift(f);
% 获取图像大小
[M, N] = size(img);
% 设置截止频率
D0 = 20;
% 构造理想低通滤波器
h = zeros(M, N);
for i = 1:M
for j = 1:N
if sqrt((i-M/2)^2 + (j-N/2)^2) <= D0
h(i,j) = 1;
end
end
end
% 滤波
gshift = fshift .* h;
% 将低频部分移回原来位置
g = ifftshift(gshift);
% 反傅里叶变换
g = ifft2(g);
% 取实部
g = real(g);
% 显示图像
imshow(g, []);
% 显示理想低通滤波器
imshow(h, []);
4. 振铃效应的原因:
振铃效应是指在进行低通滤波时,由于理想滤波器的截止频率较窄,导致滤波器的频率响应出现振铃现象,即滤波后的图像出现明显的周期性伪影。这是因为理想低通滤波器在频域中是一个方形函数,对于频率在截止频率附近的信号,会出现明显的幅度变化,从而导致滤波后的图像出现周期性伪影。
阅读全文