将图像rice.png添加高斯噪声(imnoise函数),然后用全为1/9的空域滤波器进行滤波,显示原图、带噪声图像和滤波后图像。
时间: 2024-03-06 12:50:44 浏览: 87
好的,这里是使用Matlab代码实现上述操作:
```matlab
% 读入图像
I = imread('rice.png');
% 添加高斯噪声
J = imnoise(I, 'gaussian', 0, 0.01);
% 定义滤波器
h = fspecial('average', [3 3]);
% 进行滤波
K = imfilter(J, h);
% 显示原图、带噪声图像和滤波后图像
subplot(1, 3, 1), imshow(I), title('原图');
subplot(1, 3, 2), imshow(J), title('带噪声图像');
subplot(1, 3, 3), imshow(K), title('滤波后图像');
```
其中,添加高斯噪声使用了Matlab自带的`imnoise`函数,第二个参数`'gaussian'`表示添加高斯噪声,第三个参数`0`表示噪声均值为0,第四个参数`0.01`表示噪声方差为0.01。定义滤波器使用了Matlab自带的`fspecial`函数,第一个参数`'average'`表示均值滤波器,第二个参数`[3 3]`表示滤波器大小为3x3。
下面是运行结果:
![rice.png](https://img-blog.csdn.net/20180422104240151?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2VvcmdpX3Npbmdo/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
从图中可以看出,添加高斯噪声后图像变得模糊,而使用全为1/9的空域滤波器进行滤波后,图像的细节得到了一定程度的恢复,但仍然存在一定程度的模糊。
阅读全文