matlab中值滤波图像处理
时间: 2023-08-30 13:09:04 浏览: 169
光子筛matlab代码案例
在 MATLAB 中,可以使用 `medfilt2` 函数来对图像进行中值滤波处理。该函数的语法为:
```
B = medfilt2(A)
```
其中,`A` 表示输入的图像,`B` 表示输出的图像。该函数默认使用 3x3 的窗口进行中值滤波处理,也可以通过指定第二个参数来使用不同大小的窗口。例如,使用一个 5x5 的窗口:
```
B = medfilt2(A, [5 5])
```
下面是一个简单的例子,演示如何使用 `medfilt2` 函数对图像进行中值滤波处理:
```matlab
% 读入图像
I = imread('lena.png');
% 添加高斯噪声
J = imnoise(I, 'gaussian', 0, 0.01);
% 中值滤波处理
K = medfilt2(J, [5 5]);
% 显示结果
subplot(1, 3, 1);
imshow(I);
title('原始图像');
subplot(1, 3, 2);
imshow(J);
title('加噪图像');
subplot(1, 3, 3);
imshow(K);
title('中值滤波图像');
```
在这个例子中,我们首先读入了一张 Lena 图像,然后使用 `imnoise` 函数添加了一些高斯噪声。接着,我们使用 `medfilt2` 函数对噪声图像进行了中值滤波处理,并将结果与原始图像和噪声图像一起显示出来。
阅读全文