matlab实现高斯滤波去噪
时间: 2023-09-13 09:08:04 浏览: 93
【matlab代码】-【图像去噪】高斯滤波算法.zip
高斯滤波是一种常用的图像去噪方法,可以有效地平滑图像并去除噪声。Matlab中实现高斯滤波的方法比较简单,可以通过以下步骤实现:
1. 读取需要去噪的图像:
```matlab
img = imread('image.jpg');
```
2. 设计高斯滤波器:
```matlab
hsize = 5; % 高斯核大小
sigma = 2; % 高斯核标准差
h = fspecial('gaussian', hsize, sigma);
```
3. 对图像进行滤波:
```matlab
img_filtered = imfilter(img, h, 'replicate');
```
其中,'replicate'参数表示在边缘处进行复制填充,保持输出图像大小与输入图像一致。
4. 显示原始图像和去噪后的图像:
```matlab
figure;
subplot(1, 2, 1);
imshow(img);
title('Original Image');
subplot(1, 2, 2);
imshow(img_filtered);
title('Filtered Image');
```
完整的代码如下:
```matlab
% 读取图像
img = imread('image.jpg');
% 设计高斯滤波器
hsize = 5;
sigma = 2;
h = fspecial('gaussian', hsize, sigma);
% 对图像进行滤波
img_filtered = imfilter(img, h, 'replicate');
% 显示原始图像和去噪后的图像
figure;
subplot(1, 2, 1);
imshow(img);
title('Original Image');
subplot(1, 2, 2);
imshow(img_filtered);
title('Filtered Image');
```
注意,高斯滤波器的参数需要根据实际情况进行调整,以获得最佳的去噪效果。
阅读全文