使用matlab语言 设计自适应中值滤波器对输入图像进行去噪, 保存不同类型噪声的去噪结果图,并只用一个程序完成此操作
时间: 2024-03-27 13:37:03 浏览: 59
好的,我可以帮你设计一个自适应中值滤波器,并保存不同类型噪声的去噪结果图。以下是程序代码:
```matlab
clc; % 清空命令行窗口
clear; % 清空工作区
close all; % 关闭所有已打开的窗口
% 读取输入图像
input_img = imread('input_image.jpg');
figure();
imshow(input_img);
title('原始图像');
% 添加噪声
input_img_salt_pepper = imnoise(input_img, 'salt & pepper', 0.1);
input_img_gaussian = imnoise(input_img, 'gaussian', 0, 0.01);
% 自适应中值滤波器
output_img_salt_pepper = adapmedian(input_img_salt_pepper, 5);
output_img_gaussian = adapmedian(input_img_gaussian, 5);
% 显示去噪结果
figure();
subplot(2, 2, 1);
imshow(input_img_salt_pepper);
title('椒盐噪声图像');
subplot(2, 2, 2);
imshow(output_img_salt_pepper);
title('自适应中值滤波器去噪结果');
subplot(2, 2, 3);
imshow(input_img_gaussian);
title('高斯噪声图像');
subplot(2, 2, 4);
imshow(output_img_gaussian);
title('自适应中值滤波器去噪结果');
% 保存去噪结果图
imwrite(output_img_salt_pepper, 'output_image_salt_pepper.jpg');
imwrite(output_img_gaussian, 'output_image_gaussian.jpg');
```
这个程序会读取名为 `input_image.jpg` 的输入图像,添加椒盐噪声和高斯噪声,并使用自适应中值滤波器进行去噪,最后保存去噪结果图。你可以将程序保存为 `adapmedian_filter.m`,并在MATLAB命令窗口中运行它。注意,你需要将输入图像保存在当前目录下。
阅读全文