在MATLAB中运用高斯滤波器对一副图片中含有的高斯白噪声进行过滤,要求给出的代码尽量简洁,同时对每行代码进行详细注释
时间: 2024-03-23 10:41:09 浏览: 19
下面是在MATLAB中运用高斯滤波器对一副图片中含有的高斯白噪声进行过滤的代码,注释详细,代码简洁:
```matlab
% 加载原始图片
img = imread('image.jpg');
% 添加高斯白噪声
noisy_img = imnoise(img, 'gaussian', 0, 0.01);
% 定义高斯滤波器的大小和标准差
filter_size = 5;
sigma = 2;
% 创建高斯滤波器
gaussian_filter = fspecial('gaussian', filter_size, sigma);
% 对含有高斯白噪声的图片进行滤波
filtered_img = imfilter(noisy_img, gaussian_filter);
% 显示原始图片、含噪声图片和滤波后的图片
subplot(1,3,1), imshow(img), title('Original');
subplot(1,3,2), imshow(noisy_img), title('Noisy');
subplot(1,3,3), imshow(filtered_img), title('Filtered');
```
首先,使用`imread`函数加载原始图片;然后,使用`imnoise`函数添加高斯白噪声,其中第二个参数指定噪声类型为高斯白噪声,第三个参数为噪声均值(设为0),第四个参数为噪声方差(设为0.01);接着,定义高斯滤波器的大小和标准差;使用`fspecial`函数创建高斯滤波器;最后,使用`imfilter`函数对含有高斯白噪声的图片进行滤波,得到滤波后的图片。使用`subplot`和`imshow`函数将原始图片、含噪声图片和滤波后的图片显示在同一窗口中,方便对比效果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)