第四章图像增强4.6小波去噪举例[4,6]4.6.1MATLAB中用wnoise函数测试去噪算法%waveletnoise.msqrt_snr=3;init=231434;[x,xn]=wnoise(3,11,sqrt_snr,init);%WNOISEgeneratenoisywavelettestdata.%X=WNOISE(FUN,N)returnsvaluesofthetestfunctiongivenbyFUN,ona%2^Nsampleof[0,1].%[X,XN]=WNOISE(FUN,N,SQRT_SNR)returnsvaluesofthetestfunction%givenbyFUNandrescaledsuchthatstd(x)=SQRT_SNR(standard%deviation).ThereturnedvectorXNcontainsthesametestvectorXcorrupted%byanadditiveGaussianwhitenoiseN(0,1).%ThenXNhasasignal-to-noiseratioof(SQRT_SNR^2).%[X,XN]=WNOISE(FUN,N,SQRT_SNR,INIT)returnspreviousvectorsX%andXN,butthegeneratorseedissettoINIvalue.subplot(3,2,1),plot(x)title('originaltestfunction')subplot(3,2,2),plot(xn)title('noisedfunction')%产生一个长为2**11点,包含高斯白噪声的正弦信号,噪声的的标准%偏差为3。lev=5;xd=wden(x,'heursure','s','one',lev,'sym8');1第四章图像增强%[XD,CXD,LXD]=WDEN(X,TPTR,SORH,SCAL,N,'wname')%returnsade-noisedversionXDofinputsignalXobtainedbythresholdingthe%waveletcoefficients.Additionaloutputarguments[CXD,LXD]arethewavelet%decompositionstructureofde-noisedsignalXD.%WDEN利用小波对一维信号进行自动降噪,就是对小波系数阈值比较后。%返回输入信号X降噪后的处理信号XD,以及XD的小波分解结构{CXD,LXD}%TPTR(containsthresholdselectionrule)='heursure',%'heursure'isanheuristicvariantofthefirstoption%(选择基于Stein无偏估计理论的自适应阈的启发式改进)%SORH('s'or'h')isforsoftorhardthresholding(决定阈值的使用方式)%SCAL决定阈值是否随噪声变化:%SCAL='one'fornorescaling%SCAL='sln'for对第一层系数的层噪声分别进行估计和调整;%SCAL='mln'for对各层系数的层噪声分别进行估计和调整;%'wname'='sym8'subplot(3,2,3),plot(xd)title('Onede-noisedfunction')%利用’sym8’小波对信号分解,在分解的第5层上,利用启发式SURE%阈值选择法对信号去噪。xd=wden(x,'heursure','s','sln',lev,'sym8');%'sln'forrescalingusingasingleestimation%oflevelnoisebasedonfirstlevelcoefficients(根据第一层小波分解的噪声方%差调整阈值)subplot(3,2,4),plot(xd)title('Slnde-noisedfunction')2第四章图像增强%同上’sym8’小波对信号分解条件,但用软SURE阈值选择算法对信%号去噪。xd=wden(x,'sqtwolog','s','sln',lev,'sym8');%foruniversalthresholdsqrt(2*log(.))(固定阈值选择算法去噪).subplot(3,2,5),plot(xd)title('Sqtwologde-noisedfunction')%同上’sym8’小波对信号分解条件,但用固定阈值选择算法去噪。[c,l]=wavedec(x,lev,'sym8');%WAVEDECperformsamultilevel1-Dwaveletanalysisusingeitheraspecific%wavelet'wname'oraspecificsetofwaveletdecompositionfilters.%[C,L]=WAVEDEC(X,N,'wname')returnsthewavelet%decompositionofthesignalXatlevelN,using'wname'.Theoutput%decompositionstructurecontainsthewaveletdecompositionvectorC(按照一3第四章图像增强%定顺序存储信号小波分解的近似分量和细节分量的系数)andthe%bookkeepingvectorL(各近似分量和细节分量系数的长度).%xd=wden(c,l,'minimaxi','s','sln',lev,'sym8');'minimaxi'forminimaxthresholding%(选择极大极小原则定域值)subplot(3,2,6),plot(xd)title('CLde-noisedfunction')%利用信号小波分解的结构[C,L]对信号进行去噪处理。4.6.2MATLAB中图像噪声处理举例%装载原始图象到Xloadsinsin;colormap('default');%setsthecurrentfigure'scolormaptotheroot'sdefault,whosesettingisJET.subplot(1,3,1),image(X);title('originalimage');axis('square');%产生噪声图象init=231434;randn('seed',init);%Normallydistributedrandomnumbers.X=X+18*randn(size(X));subplot(1,3,2),image(x);title('noisedimage');axis('square');4第四章图像增强%使用wdencmp进行图象降噪[thr,sorh,keepapp]=ddencmp('den','wv',x);%自动生成小波去躁或压缩的阈值选择方案,也就是寻找默认值%[THR,SORH,KEEPAPP]=DDENCMP(IN1,'wv',X)returnsdefaultvalues%forde-noising(ifIN1='den')orcompression(ifIN1='cmp')ofX.%KEEPAPPallowsyoutokeepapproximationcoefficients%(KEEPAPP=0,不对近似分量进行近似处理,KEEPAPP=11,进行阈值处理)[xc,cxc,lxc,perf0,perfl2]=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);%使用全局阈值进行图象降噪%DENCMPperformsade-noisingorcompressionprocess%ofasignaloranimageusingwavelets.xc,cxc,lxcarethe%denoisedwaveletandthewaveletdecompositionstructureofxc,%perf0,perfl2areL^2recoveryandcompressionscoresin%percentages(使用L-2范数度量的信号的恢复率或者压缩率).subplot(1,3,3),image(xc);title('denoisedimage');axis('square')Ref:\imageenhancement\imagenois.me可见,含躁图像的噪声含量很强,利用小波去躁,可以有效去除躁声,5第四章图像增强同时保留了边界。Wdencmp函数[xc,cxc,lxc,perf0,perfl2]=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);是使用小波进行一维或二维小波压缩或降噪的函数。前面的语句是对于输入的一维或二维信号X,使用全局正阈值THR,由小波系数阈值得到降噪或压缩后的信号XC。附加的输出变量[cxc,lxc]是XC的小波分解结构;[perf0,perfl2]是恢复和压缩的L2范数百分比。使用小波'sym4'执行小波分解到第N=2层。Sorh是软阈值或硬阈值。若keepapp=1,低频系数不能进行阈值处理。6第四章图像增强4.6.2MATLAB中图像用户界面(GUI)的压缩和去噪声处理在CommandWindow中输入”wavemenu”,打开小波分析的图像用户界面窗口。单击Wavelet2-D键,选择File中命令读入图像,可选分析用的小波基函数以及分解的层数7第四章图像增强单击De-noise键,可以在新窗口中选择阈值处理方法,通过手动调节修改阈值,进行小波分解8第四章图像增强本章参考文献1、张远鹏,董海,周文灵,计算机图像处理技术基础,北大版,1996年,pp79-1032、徐飞,施晓红等编著,MATLAB应用图像处理,西安电子科大版,2002,pp140-163。3、刘榴娣,刘明奇,党长民,实用数字图像处理,北京理工大版,pp87-111。4、孙兆林编著,MATLAB6.X图像处理,清华版,2002,pp213-2395、王耀南,李树涛,毛建旭,计算机图像处理与识别技术,高教版,2001,pp65-1066、葛哲学沙威,小波分析理论与MATLABR2007实现,电子工业版,20079