均值滤波器matlab代码
时间: 2023-10-25 09:08:09 浏览: 74
加权迭代截断均值滤波器:WITM 滤波器-matlab开发
以下是一个简单的 MATLAB 均值滤波器代码示例:
```matlab
function output_image = mean_filter(input_image, filter_size)
% 获取输入图像的尺寸
[rows, cols] = size(input_image);
% 计算滤波器的边界
filter_border = floor(filter_size/2);
% 初始化输出图像
output_image = zeros(rows, cols);
% 对于每个像素执行均值滤波
for i = 1+filter_border : rows-filter_border
for j = 1+filter_border : cols-filter_border
% 提取当前像素周围的区域
local_region = input_image(i-filter_border:i+filter_border, j-filter_border:j+filter_border);
% 计算当前像素的均值
mean_value = mean(local_region(:));
% 将均值赋值给输出图像
output_image(i,j) = mean_value;
end
end
end
```
使用示例:
```matlab
% 读取图像
input_image = imread('input.jpg');
% 执行均值滤波
output_image = mean_filter(input_image, 3);
% 显示输入和输出图像
subplot(1, 2, 1), imshow(input_image), title('Input Image');
subplot(1, 2, 2), imshow(output_image), title('Output Image');
```
阅读全文