使用matlab完成中值滤波
时间: 2023-05-25 18:05:03 浏览: 173
下面是使用matlab实现中值滤波的示例代码:
```
% 读取图像
img = imread('lena.png');
% 添加椒盐噪声
img_noisy = imnoise(img, 'salt & pepper', 0.1);
% 中值滤波
img_median = medfilt2(img_noisy, [3 3]);
% 显示结果
subplot(1, 3, 1);
imshow(img);
title('Original Image');
subplot(1, 3, 2);
imshow(img_noisy);
title('Noisy Image');
subplot(1, 3, 3);
imshow(img_median);
title('Median Filtered Image');
```
在上面的代码中,我们首先读取了一张图像,然后使用imnoise函数向其中添加椒盐噪声。接着,我们使用medfilt2函数对带噪声的图像进行中值滤波,并将结果显示出来。其中medfilt2函数的第二个参数是一个矩阵,表示中值滤波的模板大小,这里我们设置为3x3。
相关问题
不使用medfilt2函数在matlab完成中值滤波
以下是matlab代码实现中值滤波:
1.定义原始图像
img = imread('lena.jpg');
img_gray = rgb2gray(img);
2.定义模板大小m和n
m = 3;
n = 3;
3.对原始图像进行补零操作
img_extend = zeros(size(img_gray)+[m-1 n-1]);
img_extend((m+1)/2:end-(m-1)/2,(n+1)/2:end-(n-1)/2) = img_gray;
4.创建一个空的输出图像
img_med = zeros(size(img_gray));
5.对图像进行中值滤波处理
for i = 1:size(img_gray,1)
for j = 1:size(img_gray,2)
img_med(i,j) = median(reshape(img_extend(i:i+m-1,j:j+n-1),[],1));
end
end
6.显示原图像和中值滤波后的图像
figure;
subplot(1,2,1);imshow(img_gray);
subplot(1,2,2);imshow(img_med);
注意事项:
- 中值滤波的模板大小和形状可以根据实际需要进行改变。
- 在进行中值滤波操作之前,需要将原始图像进行补零操作,以保证中心点始终在模板的中心位置。
matlab使用中值滤波去噪
MATLAB 中值滤波是一种常用的图像去噪方法,它的原理是将每个像素的灰度值替换为该像素周围邻域内所有像素的中值。这样做可以有效地去除图像中的椒盐噪声和高斯噪声。
在 MATLAB 中,可以使用 medfilt2 函数来实现中值滤波。该函数的语法格式如下:
```matlab
J = medfilt2(I, [m n])
```
其中,I 表示输入的图像,[m n] 是中值滤波模板的大小。J 表示输出的去噪后的图像。
下面是一个示例代码:
```matlab
% 读取带有椒盐噪声的图像
I = imread('peppers.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('中值滤波去噪后的图像');
```
以上代码中,先读取一张原始图像,然后使用 imnoise 函数添加一些椒盐噪声,最后使用 medfilt2 函数对加了噪声的图像进行中值滤波去噪。最终将原始图像、加了噪声的图像和去噪后的图像依次显示出来。
阅读全文
相关推荐











