本文介绍了如何从MATLAB中删除图像中的高斯噪声?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to remove a Gaussian noise from an image. I've added the noise myself using:

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

我现在需要使用自己的过滤器消除噪音,或者至少减少噪音。理论上,据我所知,使用 ones(3)/ 9 的卷积矩阵应该有助于并使用像这样的高斯卷积矩阵[1 2 1 ; 2 4 2; 1 2 1] / 9 fspecial('gaussian',3)应该更好。然而,他们真的不能很好地做到这一点:$ b​​ $ b

I now need to remove the noise using my own filter, or at least reduce it. In theory, as I understand, using a convolution matrix of ones(3)/9 should help and using a Gaussian convolution matrix like [1 2 1; 2 4 2; 1 2 1]/9 or fspecial('gaussian',3) should be better. Yet, they really don't do the trick so well:

我错过了一些重要的事情吗?顺便说一句,我需要使用卷积。

Am I missing something important? I need to use convolution, by the way.

推荐答案

你没有遗漏任何东西!
显然,你不能完全消除噪音。您可以尝试不同的过滤器,但所有过滤器都需要权衡:

You are not missing anything!Obviously, you can't remove the noise completely. You can try different filters, but all of them will have a tradeoff:

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

It becomes more obvious if you think of this in the following way:

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

But in real life, there are many objects in the image. Thus, when you apply the convolution you cause blur by mixing pixels from different adjacent objects.

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

There are more sophisticated denoising methods like:


  • 中位数去噪

  • 双边过滤器

  • 基于模式匹配的去噪

他们没有使用卷积。顺便说一句,即使他们也不能做魔法。

They are not using only convolution. By the way, even they can't do magic.

这篇关于如何从MATLAB中删除图像中的高斯噪声?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 10:00