写一个添加了两种噪声的中值滤波且每种噪声有三种水平的matlab程序
时间: 2023-11-13 14:02:30 浏览: 33
好的,下面是一个示例的MATLAB程序,用于添加两种噪声(高斯噪声和椒盐噪声),并对图像进行中值滤波:
```matlab
% 读取原始图像
originalImage = imread('input.jpg');
% 添加高斯噪声
gaussianNoise = imnoise(originalImage, 'gaussian', 0, 0.01); % 0.01为方差
% 添加椒盐噪声
saltPepperNoise = imnoise(originalImage, 'salt & pepper', 0.05); % 0.05为噪声密度
% 对添加了噪声的图像进行中值滤波
gaussianFiltered = medfilt2(gaussianNoise);
saltPepperFiltered = medfilt2(saltPepperNoise);
% 显示结果
subplot(2,2,1), imshow(originalImage), title('原始图像');
subplot(2,2,2), imshow(gaussianNoise), title('添加高斯噪声');
subplot(2,2,3), imshow(gaussianFiltered), title('中值滤波 (高斯噪声)');
subplot(2,2,4), imshow(saltPepperFiltered), title('中值滤波 (椒盐噪声)');
```
请注意,此程序假设原始图像为名为“input.jpg”的文件。你需要将此文件名更改为你的实际图像文件名。此外,你还可以根据需要调整噪声的参数值和其他参数以获得更好的结果。
希望这能满足你的需求!如果你有任何其他问题,请随时提问。