维纳滤波实现图像恢复 下载本文

数字图像可以由以下三种途径得到

1)将传统的可见光图像经过数字化处理转换为数字图像,例如将一幅照片通过扫描仪输入到计算机中,扫描的过程实质上就是一个数字化的过程。

2)应用各种光电转换设备直接得到数字图像,例如卫星上搭载的推帚式扫描仪和光机扫描仪可以直接获取地表甚至地下物体的图像并实时存入存储器中。

3)直接由二维离散数学函数生成数字图像.

无论哪种方式,最终得到的数字图像都是一个二维矩阵。

对于一幅连续图像f(x,y),若x,y方向的相等采样间隔分别为?x、?y(通

?i?0,1,?,N?1常(?x??y),并均取N点,则数字图像f(i,j),??j?0,1,?,N?1?如下矩阵表示

???。可用??f(0,0)?f(1,0)?f(i,j)???????f(N?1,0)f(0,1)f(1,1)?f(N?1,1)????f(0,N?1)?f(1,N?1)?? (2-13)

???f(N?1,N?1)?图像像素矩阵的产生,为图像处理提供了一种新的途径,对于许多图像的处理,都可以转化为对矩阵的分析,从而使问题变得准确、简便、易行。数字图像处理实质就是对二维矩阵的处理,是将一幅图像变为另一幅经过修改的图像,是将一个二维矩阵变为另一个二维矩阵的过程。

首先讨论一维的情况,然后再推广至二维情况。

假设对两个函数f(x)和h(x)进行均匀采样,其结果放到尺寸为A和B的两个数组中,对f(x),x的取值范围是0,1,2,..,A?1;对h(x),x的取值范围是0,1,2,..,B?1。我们可以利用离散卷积来计算g(x)。为了避免卷积的各个周期重叠(设每个采样函数的周期为M),可取M?A?B?1,并将函数用零扩展补齐。用fe(x)和he(x)来表示扩展后的函数,则有

?f(x)fe(x)???00?x?A?1 (2-14)

A?x?M?1?h(x)0?x?B?1 he(x)?? (2-15)

0B?x?M?1? 则它们的卷积为

7

M?1m?0 ge(x)??fe(m)he(x?m) (2-16)

因为fe(x)和he(x)的周期为M,ge(x)的周期也为M。引入矩阵表示法,则上式可写为

g?Hf (2-17)

其中

?ge(0)??g(1)?? (2-18) g??e?????g(M?1)?e??fe(0)??f(1)?e? (2-19) f???????f(M?1)?e?()he(?1)?he0?h(1)he(0)H??e?????he(M?1)he(M?2)?he(?M?1)??he(?M?2)?? (2-20)

?????he(0)?根据he(x)的周期性可知,he(x)?he(x?M),所以上式又可以写成

()he(M?1)?he0?h(1)he(0)H??e?????he(M?1)he(M?2)?he(1)??he(2)?? (2-21) ?????he(0)? 这里H是个循环矩阵,即每行最后一项等于下一行的最前一项,最后一行最后一项等于第一行最前一项。

将一维结果推广到二维,可首先做成大小M*N的周期延拓图像,即

?f(x,y)fe(x,y)???00?x?A?1,0?y?B?1 (2-22)

A?x?M?1,B?y?N?10?x?C?1,0?y?D?1?h(x,y) (2-23) he(x,y)??C?x?M?1,D?y?N?1?0这样延拓后,fe(x,y)和he(x,y)分别成为二维周期函数。它们在x和y方向上的周期分别为M和N。于是得到二维退化模型为一个二维卷积形式

8

M?1N?1m?0n?0ge(x,y)???fe(m,n)he(x?m,y?n) (2-24)

如果考虑噪声,将MxN的噪声项加上,上式可写成为

ge(x,y)???fe(m,n)he(x?m,y?n)?ne(x,y) (2-25)

m?0n?0M?1N?1同样,可以用矩阵来表示

?H0?Hg?Hf?n??1????HM?1HM?1?H1?H0?H2???????HM?2?H0??fe(0)??ne(0)????n(1)?f(1)ee??+?? (2-26) ??????????f(MN?1)n(MN?1)?e??e?其中每个Hi是由扩展函数气he(x,y)的第i行而来,即

()he(i,N?1)?hei,0?h(i,1)he(i,0)Hi??e?????he(i,N?1)he(i,N?2)?he(i,1)??he(i,2)?? (2-27) ?????he(i,0)?这里伐是一个循环矩阵。因为H中的每块是循环标注的,所以H是块循环矩阵。

2.2图像的恢复方法

2.2.1逆滤波复原法

对于线性移不变系统而言

??g(x,y)??-??f(?,?)h(x??,y??)d?d??n(x,y)

?f?x,y?*h?x,y??n(x,y) (2-28)

上式两边进行傅里叶变换得

G(u,v)?H(u,v)F(u,v)?N(u,v) (2-29)

式中G(u,v),F(u,v),H(u,v)和N(u,v)分别是g(x,y),f(x,y),h(x,y)和

n(x,y)的二维傅里叶变换。

9

H(u,v)称为系统的传递函数。从频率域角度看,它使图像退化,因而反映了

成像系统的性能。

通常在无噪声的理想情况下,上式可简化

G(u,v)?F(u,v)H(u,v) 则F(u,v)= G(u,v)/H(u,v) (2-30)

1称为你滤波器。对上式再进行傅里叶反变换可得到f(x,y)。但实际上

H(u,v)碰到的问题都是有噪声,因而只能求F(u,v)的估计值

F(u,v)?F(u,v)?^N(u,v) (2-31)

H(u,v)然后再作傅里叶逆变换得

f(x,y)?f(x,y)??^?????N(u,v)H?1(u,v)ej2?(ux?vy)dudv (2-32)

?这就是逆滤波复原的基本原理。其复原过程可归纳如下: 1)对退化图像g(x,y)作二维离散傅里叶变换,得到G(u,v);

2)计算系统点扩散函数h(x,y)的二维傅里叶变换,得到H(u,v)。(这一步值得注意的是,通常h(x,y)的尺寸小于g(x,y)的尺寸。为了消除混叠效应引起的误差,需要把h(x,y)的尺寸延拓。

3)计算F(u,v)的傅里叶变换,求得f(x,y)

若噪声为零,则采用逆滤波恢复法能完全再现原图像。若噪声存在,而且

H(u,v)很小或为零时,则噪声被放大。这意味着退化图像中小噪声的干扰在H(u,v)较小时,会对逆滤波恢复的图像产生很大的影响,有可能使恢复的图像

^^和f(x,y)相差很大,甚至面目全非。解决该病态问题的唯一方法就是避开H(u,v)的零点即小数值的H(u,v).两种途径:一是:在H(u,v)?0及其附近,人为地仔细设置H-1(u,v)的值;二是:使H(u,v)具有低通滤波性质。

10