逆滤波和维纳滤波

逆滤波 Inverse Filter


如果仅有退化函数 h ( x , y ) h(x,y) 导致图像 f ( x , y ) f(x,y) 退化为 g ( x , y ) g(x,y) ,那么退化图像表示为:
g ( x , y ) = h ( x , y ) f ( x , y ) g(x,y)=h(x,y)\star f(x,y)
在频率域中,则为:
G ( x , y ) = H ( x , y ) F ( x , y ) G(x,y)=H(x,y)F(x,y)
这时我们使用逆滤波的话将会是一个完美的结果,完全恢复图像:
F ^ = G ( u , v ) H ( u , v ) \hat{F} = \frac{G(u, v)}{H(u,v)}
在这里插入图片描述
其中, G ( u , v ) G(u,v) 为退化图像的频域, H ( u , v ) H(u,v) 为退化函数频域,再对结果取共轭后进行快速傅里叶变换即可
但是,一般来说图像都不会仅仅只是退化,图像都会有噪声存在,我们假设这是一个加性噪声,那么退化图像将表示为:
g ( x , y ) = h ( x , y ) f ( x , y ) + η ( x , y ) g(x,y) = h(x, y)\star f(x,y) + \eta(x,y)
其中, η ( x , y ) \eta(x,y) 是空域加性噪声,如果在频率域中则将表示为:
G ( u , v ) = H ( u , v ) F ( u , v ) + N ( u , v ) G(u,v) = H(u,v)F(u,v) + N(u,v)
这时如果我们直接对图像进行逆滤波操作的话,将会得到:
F ^ = F ( u , v ) + N ( u , v ) H ( u , v ) \hat{F} = F(u,v) + \frac{N(u,v)}{H(u,v)}
这时,我们将会得到一个非常糟糕的结果,因为这时如果退化函数 H ( u , v ) H(u,v) 的值比较小的话,例如运动模糊,而噪声是一个高斯白噪声的话,那么此时噪声将会被放大,我们将会得到一个非常不理想的结果:
在这里插入图片描述
这个时候,使用Wiener滤波效果会显著改善

维纳滤波 Wiener filter


这里给出常用的维纳滤波的表达式的近似式:
F ^ = [ 1 H ( u , v ) H ( u , v ) 2 H ( u , v ) 2 + K ] G ( u , v ) \hat{F} = [\frac{1}{H(u,v)} \frac{{|H(u,v)|}^{2}}{{|H(u,v)|}^{2}+K}]G(u,v)
其中,K为一个常数,我们可以通过不断调整K的值得到比较理想的滤波效果:
在这里插入图片描述
可以发现,当K逐渐增大,图像逐渐锐化,模糊程度降低,对比度增大,因为,当K逐渐增大时,K在的分母变大,对噪声的限制也就逐渐加强,所以图像逐渐变得清晰,但是,因为分母变大,整体的值变小,所以图像也就逐渐变暗,可以预见当K增大到一定程度后,继续增大图像效果将逐渐走下坡路,最后变成全黑。

猜你喜欢

转载自blog.csdn.net/Lyn_B/article/details/85255987
今日推荐