高斯滤波器vs中值滤波器vs维纳滤波器?噪音处理性能与图像损坏的盐和胡椒噪音

28次浏览(过去30天)
ABTJ
ABTJ 2020年5月14日
评论道: 图像分析 2020年5月26日
我试图消除噪声的图像使用三个不同的过滤器,但我有点困惑的输出性能的每个过滤器。我认为高斯滤波器在这种情况下性能最好(如果我的观察有误,请指导我)
或者中值滤波器也有明显的最佳性能(但一个主要缺点是它的输出看起来像二值(黑白图像),而原来我们有灰度图像,而不是二值图像)
我的matlab代码如下
clc,清晰关闭所有
我= imread (“cameraman.tif”);
[r c] =大小(im);
t1 =兰迪([0 255),r, c);%大小为r,c的随机整数,取值范围为0 ~ 255
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显示f(x,y)和标题
图(1)中,imshow (f);标题(嘈杂的图像创建的);
方差的%高斯滤波器
w = fspecial (“高斯”3、(1);
wf = imfilter (f, w);
图2显示了高斯滤波的结果g(x,y)和标题
图(2)中,imshow (wf);标题(“3x3高斯滤波器的结果”);
mf = medfilt2 (f);
图3显示了中值滤波和标题的结果g(x,y)
图(3)中,imshow (mf);标题(“中值滤波器的结果”);
Wf = wiener2(f,[3]);
图4显示了作为维纳过滤结果的g(x,y)和标题
图(4),imshow (wf);标题(“3x3维纳滤波器的结果”);

接受的答案

Subhadeep Koley
Subhadeep Koley 2020年5月25日
你好,
代码(你在图像中添加盐和胡椒噪声)将输入图像中的几乎所有像素修改为0或255(参考下面的直方图)。
因此,过滤后的图像看起来也像二值图像。有什么特别的原因你不使用内置的 imnoise () 函数?如果不是,那么你可以你下面的代码。
clc;
关闭所有;
img = imread (“cameraman.tif”);
%使用无噪添加噪声
f = imnoise (img,的盐和胡椒, 0.1);
图1显示f(x,y)和标题
图(1)中,imshow (f);标题(嘈杂的图像创建的);
方差的%高斯滤波器
w = fspecial (“高斯”3、(1);
Wf = imfilter(f, w);
图2显示了高斯滤波的结果g(x,y)和标题
图(2)中,imshow (wf);标题(“3x3高斯滤波器的结果”);
mf = medfilt2 (f);
图3显示了中值滤波和标题的结果g(x,y)
图(3)中,imshow (mf);标题(“中值滤波器的结果”);
Wf = wiener2(f, [3]);
图4显示了作为维纳过滤结果的g(x,y)和标题
图(4),imshow (wf);标题(“3x3维纳滤波器的结果”);

答案(1)

图像分析
图像分析 2020年5月25日
高斯滤波器会模糊边缘,并受到噪声值本身的影响。
中值滤波器保留边缘,不受噪声值的影响。
维纳滤波器是一种随机滤波器,它要求你知道噪声的频谱。
还有其他更复杂的去噪程序,如BM3D、非本地方法等。
2的评论
图像分析
图像分析 2020年5月26日
我给出了一些概括性的内容,这比告诉你哪一种方法对特定的噪声和特定的图像最合适要有用得多。你总可以用immse()来计算MSE看看哪个对特定图像表现最好这很简单,为什么不试试呢?

登录发表评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区可以如何帮助您!

开始狩猎!