第06章-图像复原2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

上一页下一页home1第6章图像复原(2)imagerestoration——运动模糊复原上一页下一页home2上一页下一页home3上一页下一页home4上一页下一页home5(a)模糊图像(b)恢复后的图像匀速运动引起的图像模糊沿水平方向匀速运动造成的模糊图像的恢复处理在获取图像过程中,由于景物和摄像机之间的相对运动,往往造成图像的模糊。其中由均匀直线运动所造成的模糊图像的恢复问题更具有一般性和普遍意义。因为变速的、非直线的运动在某些条件下可以看成是均匀的、直线运动的合成结果。上一页下一页home6由匀速运动引起的模糊设图像f(x,y)有一个平面运动,令x0(t)和y0(t)分别为在x和y方向上运动的变化分量,t表示运动的时间。记录介质的总曝光量是在快门打开到关闭这段时间的积分。则模糊后的图像为其中g(x,y)为模糊后的图像。上式就是由目标物或摄像机相对运动造成图像模糊的模型。上一页下一页home7令G(u,v)为模糊图像g(x,y)的傅立叶变换,两边傅立叶变换得:由匀速运动引起的模糊改变积分次序,则有由傅立叶变换的位移性质,可得上一页下一页home8则可得G(u,v)=H(u,v)F(u,v)令这是已知退化模型的傅立叶变换式。若x(t)、y(t)的性质已知,传递函数可直接求出,因此,f(x,y)可以恢复出来。由水平方向均匀直线运动造成的图像模糊的模型及其恢复用以下两式表示:由匀速运动引起的模糊上一页下一页home9可产生一个反映匀速直线运动的二维滤波器(以水平线为0角度基准,按逆时针旋转角度Theta方向移动Len个像素)。用MATLAB函数产生运动模糊图像PSF=fspecial('motion',Len,Theta)例:PSF=fspecial('motion',15,35)上一页下一页home10PSF:isthepoint-spreadfunctionNSR:isthenoise-to-signalpowerratiooftheadditivenoiseNCORR:istheautocorrelationfunctionofthenoiseICORR:istheautocorrelationfunctionoftheoriginalimage用MATLAB函数复原模糊图像J=deconvwnr(I,PSF,NSR)J=deconvwnr(I,PSF,NCORR,ICORR)NotethattheoutputimageJcouldexhibitringingintroducedbythediscreteFouriertransformusedinthealgorithm.ToreducetheringinguseI=edgetaper(I,PSF)priortocallingDECONVWNR.上一页下一页home11edgetaper(I,PSF)函数由于图像的边界对图像而言是不连续的,因此复原操作常常会产生“环”。复原前可用edgetaper(I,PSF)函数进行预处理。TheEDGETAPERfunctionblurstheedgesoforignalimageIusingthePSF,andreducestheringingeffectinimagedeblurringmethodsthatusethediscreteFouriertransform,suchasDECONWNR,DECONVREG,andDECONVLUCY.上一页下一页home12I=imread('cameraman.tif');PSF=fspecial('gaussian',120,20);edgesTapered=edgetaper(I,PSF);figure,imshow(I,[])figure,imshow(edgesTapered,[])上一页下一页home13clearall;closeall;clcI=imread('football.jpg');figure(1);imshow(I);%设置运动位移为28个像素LEN=28;%设置运动角度为15度THETA=15;%建立二维仿真线性运动滤波器PSFPSF=fspecial('motion',LEN,THETA);%用PSF产生退化图像MF=imfilter(I,PSF,'circular','conv');figure(2);imshow(MF);%用Wiener滤波消除运动模糊的图像wnr=deconvwnr(MF,PSF);figure,imshow(wnr);例:用MATLAB程序实现由于运动图像模糊和去除运动模糊。上一页下一页home14clearall;closeallI=im2double(imread('cameraman.tif'));imshow(I);title('OriginalImage(courtesyofMIT)');%Simulateamotionblur.LEN=21;THETA=11;PSF=fspecial('motion',LEN,THETA);blurred=imfilter(I,PSF,'conv','circular');%Simulateadditivenoise.noise_mean=0;noise_var=0.0001;blurred_noisy=imnoise(blurred,'gaussian',noise_mean,noise_var);figure,imshow(blurred_noisy),title('SimulateBlurandNoise')%Tryrestorationassumingnonoise.estimated_nsr=0;wnr2=deconvwnr(blurred_noisy,PSF,estimated_nsr);figure,imshow(wnr2)title('RestorationofBlurred,NoisyImageUsingNSR=0')%Tryrestorationusingabetterestimateofthenoise-to-signal-powerratio.estimated_nsr=noise_var/var(I(:));wnr3=deconvwnr(blurred_noisy,PSF,estimated_nsr);figure,imshow(wnr3)title('RestorationofBlurred,NoisyImageUsingEstimatedNSR');上一页下一页home15OriginalImage(courtesyofMIT)SimulateBlurandNoiseRestorationofBlurred,NoisyImageUsingNSR=0RestorationofBlurred,NoisyImageUsingEstimatedNSR上一页下一页home16clearall;closeall;clcI=imread('football.jpg');figure,subplot(1,3,1);imshow(I);title('football');LEN=15;THETA=45;PSF1=fspecial('motion',LEN,THETA);%motionblurBlurred1=imfilter(I,PSF1,'circular','conv');wnr1=deconvwnr(Blurred1,PSF1);%motionsubplot(1,3,2);imshow(wnr1);title('MotionRestored,TruePSF');V=0.02;PSF2=fspecial('gaussian',15,0.2);%GaussianlowpassBlurred2=imfilter(I,PSF2,'conv');BlurredNoisy2=imnoise(Blurred2,'gaussian',0,V);wnr2=deconvwnr(BlurredNoisy2,PSF2);%noisesubplot(1,3,3);imshow(wnr2);title('NoiseRestored,TruePSF')例:运动模糊复原与噪声模糊复原比较。上一页下一页home17clear;closeall;clcI=imread('football.jpg');figure,imshow(I);xlabel('原图像')%给指定图象添加高斯噪声。V=0.002;Noise=imnoise(I,'gaussian',0,V);figure,imshow(Noise);xlabel('高斯噪声图像')%给指定图象添加运动模糊和高斯噪声。len=28;theta=11;PSF=fspecial('motion',len,theta);Motion_Blur=imfilter(I,PSF,'circular','conv');Motion_Blur_Noise=imnoise(Motion_Blur,'gaussian',0,V);figure,imshow(Motion_Blur_Noise);xlabel('运动模糊噪声图像')NP=V*prod(size(I));Edged=edgetaper(Motion_Blur_Noise,PSF);[reg1,Lagra]=deconvreg(Edged,PSF,NP);edgetaper(I,PSF)函数举例上一页下一页home18clearall;closeall;clcI=imread('football.jpg');I=imcrop(I);%I=I(10+[1:256],222+[1:256],:);len=28;theta=14;PSF=fspecial('motion',len,theta);%真实PSFMotion_Blur=imfilter(I,PSF,'circular','conv');figuresubplot221;imshow(Motion_Blur);xlabel('运动模糊图像')de_Motion_Blur1=deconvwnr(Motion_Blur,PSF);subplot222;imshow(de_Motion_Blur1);xlabel('真实PSFWinner复原')PSF2=fspecial(‘motion’,2*len,theta);%长PSFde_Motion_Blur2=deconvwnr(Motion_Blur,PSF2);subplot223;imshow(de_Motion_Blur2);xlabel('长PSFWinner复原')PSF3=fspecial(‘motion’,len,2*theta);%陡PSFde_Motion_Blur3=deconvwnr(Motion_Blur,PSF3);subplot224;imshow(de_Motion_Blur3);xlabel('陡PSFWinner复原')例:比较真实PSF函数和估计PSF函数恢复运动模糊图像。上一页下一页home19运动模糊图像真实PSFWinner复原长PSFWinner复原陡PSFWinner复原上一页下一页home20%接上例:运动模糊复原与噪声模糊复原比较。NP=(V*prod(size(I))).^2;%噪声功率NPOW=sum(NP(:))/prod(size(I));%噪声自相关函数(ACF)NCORR=fftshift(real(ifftn(NP)));IP=abs(fftn(im2double(I))).^2;%原始图像的功率IPOW=sum(IP(:))/prod(size(I));%图像自相关函数(ACF)ICORR=fftshift(real(ifftn(IP)));wnr3=deconvwnr(BlurredNoisy1,PSF1,NCORR,ICORR);wnr4=deconvwnr(BlurredNoisy2,PSF2,NCORR,ICORR

1 / 65
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功