您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 用逆滤波和维纳滤波进行图像复原
用逆滤波和维纳滤波进行图像复原在图像的获取、传输以及记录保存过程中,由于各种因素,如成像设备与目标物体的相对运动,大气的湍流效应,光学系统的相差,成像系统的非线性畸变,环境的随机噪声等原因都会使图像产生一定程度的退化,图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。由于图像的退化,使得最终获取的图像不再是原始图像,图像效果明显变差。为此,要较好地显示原始图像,必须对退化后的图像进行处理,恢复出真实的原始图像,这一过程就称为图像复原。图像复原技术是图像处理领域一类非常重要的处理技术,主要目的就是消除或减轻在图像获取及传输过程中造成的图像质量下降即退化现象,恢复图像的本来面目。图像复原的过程是首先利用退化现象的某种先验知识,建立退化现象的数学模型,然后再根据退化模型进行反向的推演运算,以恢复原来的景物图像。一、实验目的1了解图像复原模型2了解逆滤波复原和维纳滤波复原3掌握维纳滤波复原、逆滤波的Matlab实现二、实验原理1、逆滤波复原如果退化图像为,gxy,原始图像为,fxy,在不考虑噪声的情况下,其退化模型可用下式表示,,,gxyfxydd(12-25)由傅立叶变换的卷积定理可知有下式成立,,,GuvHuvFuv(12-26)式中,,Guv、,Huv、,Fuv分别是退化图像,gxy、点扩散函数,hxy、原始图像,fxy的傅立叶变换。所以11,,,,GuvfxyFFuvFHuv(12-27)由此可见,如果已知退化图像的傅立叶变换和系统冲激响应函数(“滤被”传递函数),则可以求得原图像的傅立叶变换,经傅立叶反变换就可以求得原始图像,fxy,其中,Guv除以,Huv起到了反向滤波的作用。这就是逆滤波复原的基本原理。在有噪声的情况下,逆滤波原理可写成如下形式,,,,,GuvNuvFuvHuvHuv(12-28)式中,,Nuv是噪声,nxy的傅立叶变换。2、维纳滤波复原维纳滤波就是最小二乘滤波,它是使原始图像,fxy与其恢复图像ˆ,fxy之间的均方误差最小的复原方法。对图像进行维纳滤波主要是为了消除图像中存在的噪声,对于线性空间不变系统,获得的信号为,,,,gxyfhxyddnxy(12-29)为了去掉,gxy中的噪声,设计一个滤波器,mxy,其滤波器输出为ˆ,fxy,即ˆ,,,fxygmxydd(12-30)使得均方误差式22ˆmin,,eEfxyfxy(12-31)成立,其中ˆ,fxy称为给定,gxy时,fxy的最小二乘估计值。设,fSuv为,fxy的相关函数,fRxy的傅立叶变换,,nSuv分别为,nxy的相关函数,nRxy的傅立叶变换,,Huv为冲激响应函数,hxy的傅立叶变换,有时也把,fSuv和,nSuv分别称为,fxy和,nxy的功率谱密度,则滤波器,mxy的频域表达式为22,1,,,,,nfHuvMuvSuvHuvHuvSuv(12-32)于是,维纳滤波复原的原理可表示为22,1ˆ,,,,,,nfHuvFuvGuvSuvHuvHuvSuv(12-33)对于维纳滤波,由上式可知,当,0Huv时,由于存在,,nfSuvSuv项,所以,Huv不会出现被0除的情形,同时分子中含有,Huv项,在,0Huv处,,0Huv。当,,nfSuvSuv时,1,,HuvHuv,此时维纳滤波就变成了逆滤波;当,,,nfSuvHuvSuv时,,0Huv,表明维纳滤波避免了逆滤波中出现的对噪声过多的放大作用;当,nSuv和,fSuv未知时,经常用K来代替,,nfSuvSuv,于是22,1ˆ,,,,HuvFuvGuvHuvHuvK其中,K称为噪声对信号的功率谱度比,近似为一个适当的常数。这是实际中应用的公式。三、MATLAB实现clear;I=imread('rice.tif');imshow(I);I=rgb2gray(I);%将原图像转化为黑白图figure;subplot(2,2,1);imshow(I);title('转成黑白图像');[m,n]=size(I);F=fftshift(fft2(I));k=0.0025;foru=1:mforv=1:nH(u,v)=exp((-k)*(((u-m/2)^2+(v-n/2)^2)^(5/6)));endendG=F.*H;I0=real(ifft2(fftshift(G)));I1=imnoise(uint8(I0),'gaussian',0,0.001)subplot(2,2,2);imshow(uint8(I1));title('模糊退化且添加高斯噪声的图像');F0=fftshift(fft2(I1));F1=F0./H;I2=ifft2(fftshift(F1));subplot(2,2,3);imshow(uint8(I2));title('全逆滤波复原图');K=0.1;foru=1:mforv=1:nH(u,v)=exp(-k*(((u-m/2)^2+(v-n/2)^2)^(5/6)));H0(u,v)=(abs(H(u,v)))^2;H1(u,v)=H0(u,v)/(H(u,v)*(H0(u,v)+K));endendF2=H1.*F0;I3=ifft2(fftshift(F2));subplot(2,2,4);imshow(uint8(I3));title('维纳滤波复原图');四、运行结果原图:复原后图像:五、心得体会通过这次做实验报告,使我对逆滤波和维纳滤波有了一定的了解,通过对运行结果的观察,了解了逆滤波和维纳滤波对运动模糊图像的联系和区别。
本文标题:用逆滤波和维纳滤波进行图像复原
链接地址:https://www.777doc.com/doc-4900627 .html