matlab高斯低通滤波器
时间: 2023-07-20 07:39:38 浏览: 200
MATLAB实现高斯低通滤波
在 MATLAB 中,可以使用以下代码实现高斯低通滤波器:
```
% 定义滤波器参数
sigma = 10; % 控制滤波器的平滑程度
kernel_size = 2 * ceil(3 * sigma) + 1; % 核大小
% 生成高斯滤波器
x = linspace(-kernel_size/2, kernel_size/2, kernel_size);
y = x;
[X, Y] = meshgrid(x, y);
kernel = exp(-(X.^2 + Y.^2) / (2*sigma^2));
kernel = kernel / sum(kernel(:));
% 对图像进行滤波
img_filtered = imfilter(img, kernel, 'conv');
```
其中,`sigma` 控制滤波器的平滑程度,`kernel_size` 是核的大小,需要根据 `sigma` 来计算得到。然后,使用 `meshgrid` 函数生成二维高斯分布,最后用 `imfilter` 函数对图像进行滤波。
阅读全文