matlab实现邻域平均法函数
时间: 2024-03-28 16:15:37 浏览: 75
数字图像处理邻域平均法滤波实验报告matlab实现.docx
以下是使用邻域平均法实现图像平滑的matlab函数:
```matlab
function [output] = neighborhood_average(input, window_size)
% input: 输入的图像矩阵
% window_size: 窗口大小
% output: 平滑后的图像矩阵
% 获取输入图像的大小
[row, col] = size(input);
% 在输入图像周围填充0,以便在边缘区域也能进行平滑操作
padded_input = padarray(input, [(window_size-1)/2 (window_size-1)/2]);
% 初始化输出图像矩阵
output = zeros(row, col);
% 计算邻域平均值
for i = 1:row
for j = 1:col
output(i, j) = mean2(padded_input(i:i+window_size-1, j:j+window_size-1));
end
end
end
```
该函数将输入图像矩阵和窗口大小作为输入参数,并返回平滑后的图像矩阵。函数通过在输入图像周围填充0来处理边缘区域,并使用嵌套循环计算每个像素的邻域平均值。其中,`mean2`函数用于计算邻域的平均值。
阅读全文