用逆滤波和维纳滤波进行图像复原
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用逆滤波和维纳滤波进行图像复原
在图像的获取、传输以及记录保存过程中,由于各种因素,如成像设备与目标物体的相对运动,大气的湍流效应,光学系统的相差,成像系统的非线性畸变,环境的随机噪声等原因都会使图像产生一定程度的退化,图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。由于图像的退化,使得最终获取的图像不再是原始图像,图像效果明显变差。为此,要较好地显示原始图像,必须对退化后的图像进行处理,恢复出真实的原始图像,这一过程就称为图像复原。
图像复原技术是图像处理领域一类非常重要的处理技术,主要目的就是消除或减轻在图像获取及传输过程中造成的图像质量下降即退化现象,恢复图像的本来面目。
图像复原的过程是首先利用退化现象的某种先验知识,建立退化现象的数学模型,然后再根据退化模型进行反向的推演运算,以恢复原来的景物图像。 一、 实验目的 1了解图像复原模型
2了解逆滤波复原和维纳滤波复原
3掌握维纳滤波复原、逆滤波的Matlab 实现
二、实验原理 1、逆滤波复原
如果退化图像为(),g x y ,原始图像为(),f x y ,在不考虑噪声的情况下,其退化模型可用下式表示
()()(),,,g x y f x y d d αβδαβαβ
+∞+∞
-∞
-∞
=--⎰
⎰
(12-25)
由傅立叶变换的卷积定理可知有下式成立
()()(),,,G u v H u v F u v =
(12-26)
式中,(),G u v 、(),H u v 、(),F u v 分别是退化图像(),g x y 、点扩散函数
(),h x y 、原始图像(),f x y 的傅立叶变换。所以
()()()()11,,,,G u v f x y F F u v F H u v --⎡⎤==⎡⎤⎢⎥⎣⎦⎣⎦
(12-27)
由此可见,如果已知退化图像的傅立叶变换和系统冲激响应函数(“滤被”
传递函数),则可以求得原图像的傅立叶变换,经傅立叶反变换就可以求得原始图像(),f x y ,其中(),G u v 除以(),H u v 起到了反向滤波的作用。这就是逆滤波复
原的基本原理。
在有噪声的情况下,逆滤波原理可写成如下形式
()()()()
()
,,,,,G u v N u v F u v H u v H u v =-
(12-28)
式中,(),N u v 是噪声(),n x y 的傅立叶变换。 2、维纳滤波复原
维纳滤波就是最小二乘滤波,它是使原始图像(),f x y 与其恢复图像()ˆ,f x y 之间的均方误差最小的复原方法。对图像进行维纳滤波主要是为了消除图像中存
在的噪声,对于线性空间不变系统,获得的信号为
()()()()
,,,,g x y f h x y d d n x y αβαβαβ+∞+∞
-∞
-∞
=--+⎰
⎰
(12-29)
为了去掉(),g x y 中的噪声,设计一个滤波器(),m x y ,其滤波器输出为()ˆ,f x y ,即
()()()ˆ,,,f x y g m x y d d αβαβαβ
+∞+∞
-∞
-∞
=--⎰⎰
(12-30)
使得均方误差式
()(){
}{}
2
2ˆmin ,,e E f x y f x y ⎡⎤=-⎣⎦
(12-31)
成立,其中()ˆ,f
x y 称为给定(),g x y 时(),f x y 的最小二乘估计值。 设(),f S u v 为(),f x y 的相关函数(),f R x y 的傅立叶变换,(),n S u v 分别为(),n x y 的相关函数(),n R x y 的傅立叶变换,(),H u v 为冲激响应函数(),h x y 的傅立叶变换,有时也把(),f S u v 和(),n S u v 分别称为(),f x y 和(),n x y 的功率谱密度,则滤波器(),m x y 的频域表达式为
()()
()
()()()
2
2
,1,,,,,n f H u v M u v S u v H u v H u v S u v =
+
(12-32)
于是,维纳滤波复原的原理可表示为
()()()()()()()22
,1ˆ,,,,,,n f H u v F
u v G u v S u v H u v H u v S u v ⎡⎤
⎢⎥⎢⎥=⎢⎥+⎢⎥
⎣⎦
(12-33)
对于维纳滤波,由上式可知,当(),0H u v =时,由于存在
()
()
,,n f S u v S u v 项,所以
(),H u v 不会出现被0除的情形,同时分子中含有(),H u v 项,在(),0H u v =处,(),0H u v ≡。当()
(),,n f S u v S u v 时,()()
1
,,H u v H u v →
,此时维纳滤波就变成
了逆滤波;当
()
()
(),,,n f S u v H u v S u v ≥时,(),0H u v =,表明维纳滤波避免了逆滤波中
出现的对噪声过多的放大作用;当(),n S u v 和(),f S u v 未知时,经常用K 来代替
()
()
,,n f S u v S u v ,于是
()()()()()2
2
,1ˆ,,,,H u v F u v G u v H u v H u v K ⎡⎤⎢⎥=⎢⎥+⎣⎦
其中,K 称为噪声对信号的功率谱度比,近似为一个适当的常数。这是实际中应用的公式。
三、MATLAB 实现
clear;
I=imread(''); imshow(I);
I=rgb2gray(I); %将原图像转化为黑白图 figure;
subplot(2,2,1);imshow(I);title('转成黑白图像'); [m,n]=size(I); F=fftshift(fft2(I)); k=;
for u=1:m
for v=1:n
H(u,v)=exp((-k)*(((u-m/2)^2+(v-n/2)^2)^(5/6))); end end