1、为了讨论方便,把噪声引起的退化即噪声对图像的影响一般作为加性噪声考虑。原始图像f(x,y)经过一个退化算子或退化系统H(x,y)的作用,再和噪声n(x,y)进行叠加,形成退化后的图像g(x,y)。图1表示退化过程的输入和输出关系,其中H(x,y)概括了退化系统的物理过程,就是要寻找的退化数学模型。图1 图像的退化模型数字图像的图像恢复问题可以看作是:根据退化图像g(x,y)和退化算子H(x,y)的形式,沿着反向过程去求解原始图像f(x,y)。图像退化的过程可以用数学表达式写成如下形式:g(x,y)=Hf(x,y)+n(x,y) (1)在这里,n(x,y)是一种统计性质的信息。在实际应用中,往往
2、假设噪声是白噪声,即它的频谱密度为常熟,并且与图像不相关。在对退化系统进行了线性系统和空间不变系统的近似之后,连续函数的退化模型在空域中可以写成:g(x,y)=f(x,y)*h(x,y)+n(x,y) (2)在频域中可以写成:G(u,v)=F(u,v)H(u,v)+N(u,v) (3)其中,G(u,v)、F(u,v)、N(u,v)分别是退化图像g(x,y)、原图像f(x,y)、噪声信号n(x,y)的傅立叶变换;H(u,v)是系统的点冲击响应函数h(x,y)的傅立叶变换,称为系统在频率域上的传递函数。可见,图像复原实际上就是已知g(x,y)求f(x,y)的问题或已知G(u,v)求F(u,v)的问
3、题,它们的不同之处在于一个是空域,一个是频域。逆滤波逆滤波是非约束复原的一种。非约束复原是指在已知退化图像g的情况下,根据对退化系统H和n的一些了解和假设,估计出原始图像,使得某种事先确定的误差准则为最小。由于g=Hf+n (4)我们可得:n=g-Hf (5)逆滤波法是指在对n没有先验知识的情况下,可以依据这样的最有准则,即寻找一个,使得H在最小二乘方误差的意义下最接近g,即要使n的模或范数(norm)最小: (6)上式的极小值为: (7)如果我们在求最小值的过程中,不做任何约束,由极值条件可以解出为: (8)对上式进行傅立叶变换得: (9)可见,如果知道g(x,y)和h(x,y),也就知道了
4、G(u,v)和H(u,v).根据上式,即可得出F(u,v),再经过反傅立叶变换就能求出f(x,y)。 逆滤波是最早应用于数字图像复原的一种方法,并用此方法处理过由漫游者、探索者等卫星探索发射得到的图像。维纳滤波维纳滤波是最小二乘类约束复原的一种。在最小二乘类约束复原中,要设法寻找一个最有估计,使得形式为的函数最小化。求这类问题的最小化,常采用拉格朗日乘子算法。也就是说,要寻找一个,使得准则函数 (10)为最小。求解得到 (11)式中,。如果用图像f和噪声的相关矩阵Rf和Rn表示Q,就可以得到维纳滤波复原方法。具体维纳滤波复原方法的原理请参考相关图书。三、实验仪器和设备1、PC机1台2、原始co
5、ins图像文件3、matlab编程软件四、实验内容及步骤(1) 安装Matlab7.5(2) 读取v.jpg图像并显示。I=imread(v.jpg);imshow(I); (3) 设计运动模糊滤波器、设计高斯模糊噪声滤波器。运动模糊滤波器:noise=0.1*randn(size(I);psf=fspecial(motion,21,11);blurred=imfilter(I,psf,circularsubplot(1,2,2),imshow(blurred); title(运动模糊)subplot(1,2,1),imshow(I);title(原图显示运动模糊退化图像:修改运动模糊参数及运
6、动模糊图像显示:,50,25);) 高斯模糊噪声滤波器:gaussian高斯模糊显示高斯模糊退化图像:高斯模糊噪声滤波器修改参数及显示图像:,12,15);高斯模糊图像 (4) 设计逆滤波器,并对降质图像进行复原,比较复原图像与原始图像。对运动模糊图像进行复原:len=10;theta=10;PSF=fspecial(,len,theta);Blurredmotion=imfilter(I,PSF,convsubplot(2,2,1),imshow(I);subplot(2,2,2),imshow(Blurredmotion);运动模糊图像wnr1=deconvwnr(Blurredmotio
7、n,PSF);subplot(2,2,3),imshow(wnr1);复原图像对高斯模糊噪声图像进行复原:Blurredgaussian =imfilter(I,PSF,subplot(2,2,2),imshow(Blurredgaussian);wnr1=deconvwnr(Blurredgaussian,PSF);(7) 设计维纳滤波器,并对降质图像进行复原,比较复原图像与原始图像。I = imread(len = 30;theta = 75;PSF = fspecial(J = imfilter(I,PSF,subplot(2,2,2),imshow(J);wiener_img = de
8、convwnr(J,PSF);subplot(2,2,3),imshow(wiener_img); I = imread( subplot(2,2,1),imshow(I); len = 30; theta = 75; PSF = fspecial( J = imfilter(I,PSF, subplot(2,2,2),imshow(J); wiener_img = deconvwnr(J,PSF); subplot(2,2,3),imshow(wiener_img);(8) 计算退化图像、不同方法复原后图像的信噪比。I=rgb2gray(I);subplot(2,3,1);h1 = fspe
9、cial(,50,50);MotionBlur = imfilter(I,h1);subplot(2,3,2);imshow(MotionBlur);h2 = fspecial(,20,10);MotionBlur2 = imfilter(I,h2);subplot(2,3,3);imshow(MotionBlur2);运动模糊二B = deconvwnr(MotionBlur2,h2);subplot(2,3,4);imshow(B);复原二G=imnoise(I,0,0.02);subplot(2,3,5);imshow(G);h1=fspecial(Q=imfilter(G,h1);su
10、bplot(2,3,6);imshow(Q);高斯还原M,N=size(I);Yu_I=double(I);Yu_B=double(B);ga=sum(sum(Yu_I.2);gb=sum(sum(Yu_I-Yu_B).2);SNR=10*log(ga/gb);P=sqrt(sum(Yu_I-Yu_B).2);Q=sqrt(sum(Yu_I.2);V=P/Q;Yu_cc=corrcoef(Yu_I,Yu_B);SNR = 24.3754V = 0.2611Yu_cc = 1.0000 0.8494 0.8494 1.0000五、实验心得通过本次实验,我掌握了matlab的开发环境和数字图像的存取与显示方法。理解了数字图像运动模糊、高斯模糊以及其他噪声引起模糊(图像降质现象)的物理本质,掌握降质图像的逆滤波复原和维纳滤波复原方法。