维纳滤波器,用于图像降噪(图像降噪)


16

为了降低图像噪点,我正在努力使维纳滤波器工作。就我而言,我将首先使用另一个降噪滤波器,然后将其结果用作Wiener滤波器的噪声特性的近似值。

关于Wiener滤波器的信息,我发现以下Matlab代码和说明很有用:

http://www.mathworks.co.uk/help/toolbox/images/f11-12251.html#f11-14272

以及其他一些良好的链接,例如

http://blogs.mathworks.com/steve/2007/11/02/image-deblurring-wiener-filter/

因此,从Matlab的角度来看,我可以看到如何使用内置的Matlab函数,但我想获得更基本的了解,而不仅仅是使用函数调用,但与此同时,我更希望找到比可消化的东西更易消化的东西。维纳过滤的维基百科条目

有人愿意提供有关维纳滤波的简要说明吗?


2
在给出答案之前...您需要说明您的背景。你知道随机过程理论吗?不了解随机过程理论几乎不可能给出具体解释。
特雷弗·博伊德·史密斯

除非您接受更多挥手说明即可。
特雷弗·博伊德·史密斯

感谢您的回复。是的,我对随机过程理论非常满意,我的背景是图像处理
trican

3
好吧...如果您具有随机流程背景,那么应该可以给出很好的解释。(现在我需要花时间写一个很好的解释。)
Trevor Boyd Smith,

谢谢特雷弗!非常感谢-甚至有一些很好的指针可以将我踢向正确的方向。
trican 2011年

Answers:



11

维纳过滤器上还有另一个维基百科条目,更适用于图像处理。

总结(并转换为2D),给定一个系统: 其中

y(n,m)=h(n,m)x(n,m)+v(n,m)
  • 表示卷积,
  • 是(未知)真实图像,x
  • 是线性时不变滤波器的脉冲响应,h
  • 是独立于 x的加性未知噪声,并且vx
  • 是观察到的图像。y

gx

x^(n,m)=g(n,m)y(n,m)
x^x最小化均平方误差。

gG

G(ω1,ω2)=H(ω1,ω2)S(ω1,ω2)|H(ω1,ω2)|2S(ω1,ω2)+N(ω1,ω2)
where
  • G is the Fourier transform of g,
  • H is the Fourier transform of h,
  • S is the mean power spectral density of the input x, and
  • N is the mean power spectral density of the noise v.

The equation for G can be re-written as:

G(ω1,ω2)=1H(ω1,ω2)[|H(ω1,ω2)|2H(ω1,ω2)|2+N(ω1,ω2)S(ω1,ω2)]
So the Wiener filter has the inverse filter for H, but also a frequency-dependent term that attenuates the gain based on the signal to noise ratio.

Many thanks for your thorough response. I'm not clear how can I use the previous stage of denoising within the above explanation? Overall I'll need to sit down and figure out how to take the above explanation and implement it.
trican

@trican: I'm not sure what you mean by "previous stage"? There's really only one stage: gy. The formulation of y is just a mathematical model of how you arrive at the image you have, it involves no processing (except image acquisition), and may not be very close to the reality of how you get the image.
Peter K.

Sorry if I wasn't clear, what I meant is that for leading image noise reduction algortihms such as SADCT or BM3D ( cs.tut.fi/~foi/GCF-BM3D). A first stage of noise reduction is carried out (via SADCT or block matching 3d filtering for those two mentioned algorithms) and the result of this is used as an approximation for the secondary stage which employs wiener filtering. I'm trying to get my head around the secondary wiener filtering stage, thus my original question.
trican
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.