我试图消除噪声的图像使用三个不同的过滤器,但我有点困惑的输出性能的每个过滤器。我认为高斯滤波器在这种情况下性能最好(如果我的观察有误,请指导我)
或者中值滤波器也有明显的最佳性能(但一个主要缺点是它的输出看起来像二值(黑白图像),而原来我们有灰度图像,而不是二值图像)
我的matlab代码如下
clc,清晰关闭所有
我= imread (“cameraman.tif”);
[r c] =大小(im);
t1 =兰迪([0 255),r, c);
t2 =兰迪([0 255),r, c);
f =我;
为i = 1: r
为j = 1: c
如果im (i, j) > t1 (i, j)
f (i, j) = 255;
其他的
如果im (i, j) < t2 (i, j)
f (i, j) = 0;
结束
结束
结束
结束
图(1)中,imshow (f);标题(嘈杂的图像创建的);
w = fspecial (“高斯”3、(1);
wf = imfilter (f, w);
图(2)中,imshow (wf);标题(“3x3高斯滤波器的结果”);
mf = medfilt2 (f);
图(3)中,imshow (mf);标题(“中值滤波器的结果”);
Wf = wiener2(f,[3]);
图(4),imshow (wf);标题(“3x3维纳滤波器的结果”);