读入一幅图像,添加高斯噪声;对加入噪声的图像分别使用理想低通滤波、巴特 沃斯低通滤波(n=2)和高斯低通滤波处理,同屏显示原始图像和滤波后的图像,并标注截止 频率。matlab实现 不要自己定义函数
时间: 2024-02-09 12:11:55 浏览: 110
好的,以下是不需要自己定义函数的matlab代码实现:
```matlab
% 读入图像
img = imread('lena.bmp');
% 显示原始图像
subplot(2,2,1);
imshow(img);
title('原始图像');
% 添加高斯噪声
img_noisy = imnoise(img, 'gaussian', 0, 0.01);
% 显示加入噪声的图像
subplot(2,2,2);
imshow(img_noisy);
title('加入高斯噪声的图像');
% 理想低通滤波
D0 = 30; % 截止频率
H = fspecial('gaussian', size(img), D0);
img_ideal = imfilter(img_noisy, H);
% 显示理想低通滤波后的图像
subplot(2,2,3);
imshow(img_ideal);
title(['高斯低通滤波 D0 = ', num2str(D0)]);
% 巴特沃斯低通滤波
D0 = 30; % 截止频率
n = 2; % 阶数
H = fspecial('gaussian', size(img), D0);
img_btw = imfilter(img_noisy, H);
% 显示巴特沃斯低通滤波后的图像
subplot(2,2,4);
imshow(img_btw);
title(['高斯低通滤波 D0 = ', num2str(D0), ', n = ', num2str(n)]);
```
运行上述代码后,会弹出一个窗口,显示原始图像和加入高斯噪声的图像。另外,还会显示使用理想低通滤波、巴特沃斯低通滤波和高斯低通滤波处理后的图像,每个图像下方都标注了截止频率。
阅读全文