逆滤波 Inverse Filter
如果仅有退化函数
h
(
x
,
y
)
h(x,y)
h(x,y)导致图像
f
(
x
,
y
)
f(x,y)
f(x,y)退化为
g
(
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
)
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)}
F^=H(u,v)G(u,v)
其中,
G
(
u
,
v
)
G(u,v)
G(u,v)为退化图像的频域,
H
(
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)
g(x,y)=h(x,y)⋆f(x,y)+η(x,y)
其中,
η
(
x
,
y
)
\eta(x,y)
η(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)
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)}
F^=F(u,v)+H(u,v)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)
F^=[H(u,v)1∣H(u,v)∣2+K∣H(u,v)∣2]G(u,v)
其中,K为一个常数,我们可以通过不断调整K的值得到比较理想的滤波效果:
可以发现,当K逐渐增大,图像逐渐锐化,模糊程度降低,对比度增大,因为,当K逐渐增大时,K在的分母变大,对噪声的限制也就逐渐加强,所以图像逐渐变得清晰,但是,因为分母变大,整体的值变小,所以图像也就逐渐变暗,可以预见当K增大到一定程度后,继续增大图像效果将逐渐走下坡路,最后变成全黑。