matlab 均值滤波 源码实现
时间: 2023-09-25 21:16:34 浏览: 48
以下是 MATLAB 实现均值滤波的源代码:
```matlab
function [filteredImg] = meanFilter(inputImg, kSize)
% inputImg: 输入图像
% kSize: 滤波器大小
% filteredImg: 输出滤波后的图像
% 获取输入图像的大小
[rows,cols] = size(inputImg);
% 在图像边缘进行扩充
padSize = floor(kSize/2);
padImg = padarray(inputImg, [padSize padSize], 'symmetric', 'both');
% 定义滤波器
meanFilter = ones(kSize,kSize)/kSize^2;
% 对输入图像进行卷积操作
convImg = zeros(rows+kSize-1, cols+kSize-1);
for i=1:rows+kSize-1
for j=1:cols+kSize-1
window = padImg(i:i+kSize-1,j:j+kSize-1);
convImg(i,j) = sum(sum(window.*meanFilter));
end
end
% 剪裁卷积结果
filteredImg = convImg(kSize:end-kSize+1,kSize:end-kSize+1);
end
```
这个函数接受两个参数,分别是输入的图像和滤波器的大小。它会在图像边缘进行扩充,然后定义一个均值滤波器,对输入图像进行卷积,最后剪裁卷积结果以得到滤波后的图像。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)