matlab高斯滤波的图像去噪代码
时间: 2024-04-25 19:19:08 浏览: 156
【matlab代码】-【图像去噪】高斯滤波算法.zip
当涉及到图像去噪时,高斯滤波是一种常用的方法之一。在MATLAB中,可以使用以下代码实现高斯滤波的图像去噪:
```matlab
% 读取图像
image = imread('input_image.jpg');
% 将图像转换为灰度图像(如果是彩色图像)
gray_image = rgb2gray(image);
% 添加高斯噪声
noisy_image = imnoise(gray_image, 'gaussian', 0, 0.02);
% 应用高斯滤波
filtered_image = imgaussfilt(noisy_image, 2);
% 显示原始图像、带噪声的图像和去噪后的图像
subplot(1,3,1), imshow(gray_image), title('原始图像');
subplot(1,3,2), imshow(noisy_image), title('带噪声的图像');
subplot(1,3,3), imshow(filtered_image), title('去噪后的图像');
```
上述代码中,首先读取输入图像,然后将其转换为灰度图像(如果原始图像是彩色的)。接下来,使用`imnoise`函数向灰度图像添加高斯噪声。然后,使用`imgaussfilt`函数对带噪声的图像进行高斯滤波处理,其中第二个参数2表示滤波器的标准差。最后,通过`subplot`和`imshow`函数将原始图像、带噪声的图像和去噪后的图像显示在一个图像窗口中。
阅读全文