matlab图像去噪中值滤波
时间: 2023-09-10 09:14:26 浏览: 114
基于matlab使用中值滤波medianfilter算法实现图像去噪
Matlab中可以使用medfilt2函数来进行中值滤波处理,该函数的语法格式如下:
```
B = medfilt2(A, [m n])
```
其中,A为需要进行中值滤波处理的原始图像,[m n]为中值滤波器的大小,通常为奇数,表示中心像素周围的像素个数。
下面是一个示例代码:
```
I = imread('lena.png');
J = imnoise(I,'salt & pepper',0.02);
K = medfilt2(J,[3 3]);
subplot(1,3,1),imshow(I),title('原始图像');
subplot(1,3,2),imshow(J),title('加噪声图像');
subplot(1,3,3),imshow(K),title('中值滤波处理图像');
```
其中,第一行代码读入了一张lena.png图像,第二行代码在图像上添加了0.02的椒盐噪声,第三行代码使用3x3的中值滤波器对图像进行中值滤波处理,最后使用subplot函数将原始图像、加噪声图像和中值滤波处理后的图像分别显示出来。
需要注意的是,中值滤波适用于去除椒盐噪声等随机噪声,而对于高斯噪声等其他类型的噪声效果并不好。
阅读全文