使用 matlab 数字图像处理(十)—— 维纳滤波复原

逆滤波只能解决只有退化函数,没有加性噪声的问题。维纳滤波又称最小均方误差滤波,综合考虑了退化函数和噪声。均方误差由下式给出:

e2=|f(x)f^(x)|2

假定噪声与图像是不相关的,复原图像的最佳估计可用下式表示:

F^(u,v)=[HH(u,v)|H(u,v)|2+Sn(u,v)/Sf(u,v)]G(u,v)

因为 |H(u,v)|2=H(u,v)HH(u,v) ,因而可以写为:

F^(u,v)=[|H(u,v)|2|H(u,v)|2+Sn(u,v)/Sf(u,v)1H(u,v)]G(u,v)

式中各项的定义分别如下:

  • (1) H(u,v) :退化函数
  • (2) HH(u,v) :共轭
  • (3) |H(u,v)|2=HH(u,v)H(u,v)
  • (4) Sn(u,v) :噪声的功率谱
  • (5) Sf(u,v) :为退化函数的功率谱

观察公式可以发现,加入没有噪声,则 Sn(u,v)=0 ,此时维纳滤波退化为逆滤波。那么又该如何估计 Sn(u,v)/Sf(u,v) 呢。假设退化过程已知,则 H(u,v) 可以确定,假如噪声为高斯白噪声,则 Sn(u,v) 为常数,但 Sf(u,v) 通常难以估计。一种近似的解决方法即是用一个系数 K 来代替 Sn(u,v)/Sf(u,v) 。此时公式变为:

F^(u,v)=[|H(u,v)|2|H(u,v)|2+K1H(u,v)]G(u,v)

你可能感兴趣的:(数字图像处理)