以下是使用 MATLAB 实现高斯低通滤波器的代码:

% 读取图像
img = imread('lena.png');
% 转换为灰度图像
img = rgb2gray(img);

% 定义高斯滤波器参数
size = 7;
sigma = 3;

% 生成高斯滤波器
[x, y] = meshgrid(-(size-1)/2:(size-1)/2, -(size-1)/2:(size-1)/2);
h = exp(-(x.^2 + y.^2) / (2*sigma^2));
h = h / sum(h(:));

% 对图像进行滤波
img_filtered = imfilter(img, h);

% 显示原始图像和滤波后的图像
subplot(1, 2, 1);
imshow(img);
title('原始图像');
subplot(1, 2, 2);
imshow(img_filtered);
title('滤波后的图像');

在上述代码中,首先读取了一张图像,然后使用 rgb2gray 函数将其转换为灰度图像。接着定义了高斯滤波器的参数,包括滤波器大小和偏差。使用 meshgrid 函数生成了高斯滤波器的权重矩阵,然后将其归一化。最后使用 imfilter 函数对图像进行滤波操作,得到滤波后的图像。最后使用 subplotimshow 函数将原始图像和滤波后的图像显示在同一窗口中。

MATLAB 高斯低通滤波器实现 - 图像平滑和边缘处理

原文地址: https://www.cveoy.top/t/topic/mYtE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录