用matlab对一幅图像进行3x3和5x5的均值滤波给出代码
时间: 2023-10-03 22:06:57 浏览: 146
以下是Matlab中进行3x3和5x5的均值滤波的代码:
3x3均值滤波:
```matlab
% 读入图像
img = imread('example.jpg');
% 定义3x3的均值滤波模板
mean_filter = ones(3, 3) / 9;
% 对图像进行均值滤波
img_filtered = imfilter(img, mean_filter);
% 显示原图和滤波后的图像
subplot(1, 2, 1), imshow(img), title('Original Image');
subplot(1, 2, 2), imshow(img_filtered), title('Filtered Image');
```
5x5均值滤波:
```matlab
% 读入图像
img = imread('example.jpg');
% 定义5x5的均值滤波模板
mean_filter = ones(5, 5) / 25;
% 对图像进行均值滤波
img_filtered = imfilter(img, mean_filter);
% 显示原图和滤波后的图像
subplot(1, 2, 1), imshow(img), title('Original Image');
subplot(1, 2, 2), imshow(img_filtered), title('Filtered Image');
```
其中,`imread`函数用于读入图像,`ones`函数用于创建指定大小的全1矩阵,`imfilter`函数用于进行均值滤波操作,`subplot`和`imshow`函数用于显示图像。