6

我正在尝试从图像中去除高斯噪声。我自己添加了噪音:

nImg = imnoise(img,'gaussian',0,0.01);

我现在需要使用我自己的过滤器去除噪音,或者至少减少它。理论上,据我了解,使用卷积矩阵ones(3)/9应该会有所帮助,而使用高斯卷积矩阵应该会更好[1 2 1; 2 4 2; 1 2 1]/9fspecial('gaussian',3)然而,他们真的做得不太好: 在此处输入图像描述

我错过了什么重要的东西吗?顺便说一下,我需要使用卷积。

4

3 回答 3

10

你没有错过任何东西!显然,您无法完全消除噪音。您可以尝试不同的过滤器,但它们都会有一个权衡:

更多噪点 + 更少模糊VS 更少噪点 + 更多模糊

如果您以以下方式考虑这一点,它会变得更加明显:

任何基于卷积的方法都假设所有邻居都具有相同的颜色。

但在现实生活中,图像中有很多物体。因此,当您应用卷积时,您会通过混合来自不同相邻对象的像素来导致模糊。

还有更复杂的去噪方法,例如:

  • 中值去噪
  • 双边过滤器
  • 基于模式匹配的去噪

他们不仅仅使用卷积。顺便说一句,即使是他们也不会魔法。

于 2011-12-23T18:12:08.613 回答
1

wiener2当噪声是恒定功率(“白”)加性噪声(例如高斯噪声)时,您可以使用哪种方法效果最好。

于 2013-12-07T15:18:24.650 回答
0

你在高斯卷积矩阵上犯了一个错误。您需要将其除以 16,而不是 9,这样总和就等于 1。这就是使用该矩阵生成的图像如此轻的原因。

于 2013-06-22T15:47:26.590 回答