matlab写均值滤波函数
时间: 2023-08-24 09:39:44 浏览: 107
matlab均值滤波函数
均值滤波是一种简单的图像平滑方法,可以使用 MATLAB 中的 fspecial 和 imfilter 函数实现。以下是一个自定义的均值滤波函数,其功能与 imfilter('average') 函数相同。
```matlab
function output = mymeanfilt2(input, window_size)
% 输入参数:
% input: 输入图像
% window_size: 滤波窗口大小
% 输出参数:
% output: 滤波后的图像
% 创建平均滤波器
h = fspecial('average', window_size);
% 对输入图像进行滤波
output = imfilter(input, h, 'replicate');
end
```
在使用时,可以按照以下方式调用该函数:
```matlab
input = imread('lena.png');
output = mymeanfilt2(input, 5); % 使用窗口大小为 5 的均值滤波
imshow(output);
```
其中,输入参数 input 是需要进行滤波的图像,window_size 是滤波窗口大小。函数会返回滤波后的图像 output。
阅读全文