Matlab 图像去噪:椒盐噪声的高斯低通滤波
以下是使用高斯低通滤波器去除图像中椒盐噪声的 Matlab 代码:
% 读取图像
img = imread('lena.png');
% 添加椒盐噪声
noisy_img = imnoise(img, 'salt & pepper', 0.05);
% 显示加噪图像
figure; imshow(noisy_img); title('加噪图像');
% 定义高斯滤波器
filter_size = 5;
sigma = 1;
h = fspecial('gaussian', filter_size, sigma);
% 对加噪图像进行滤波
filtered_img = imfilter(noisy_img, h);
% 显示去噪图像
figure; imshow(filtered_img); title('去噪图像');
首先,使用 imread 函数读取图像,然后使用 imnoise 函数添加椒盐噪声。在这里,我们使用了 'salt & pepper' 参数来指定添加椒盐噪声,并将强度设置为 0.05。
接下来,我们定义了一个高斯滤波器。在这里,我们使用了 fspecial 函数来创建一个高斯滤波器,其中 filter_size 参数指定滤波器的大小,sigma 参数指定高斯分布的标准差。
最后,我们使用 imfilter 函数对加噪图像进行滤波,并将结果显示出来。注意,对于加噪图像,我们需要对所有通道进行滤波,因此不需要指定通道数。
原文地址: https://www.cveoy.top/t/topic/nz9o 著作权归作者所有。请勿转载和采集!