四:图像消噪 图像消噪方法的一般说明 对二维图像信号的消噪方法同样适用于一维信号,尤其是对于几何图像更适合。二维模型可以表述为 其中, e 是标准偏差不变得高斯白噪声。二维信号的消噪步骤与一维信号的消噪步骤完全相同,也有三步,只是用二维小波分析工具代替了一维小波分析工具。如果用固定的阀值形式,测选择的阀值用 m^2 代替了一维信号中的n 。着三步是: (1) 二维信号的小波分解 。选择一个小波和小波分解的层次N, 然后计算信号s到第N层的分解。 (2) 对高频系数进行阀值量化。对于从一到N的每一层,选择一个阀值,斌对着一层的高频系数进行软阀值化处理。 (3) 二维小波的重构。根据小波分解的第N层的低频系数和经过修改的从第1层到第N层的各层高频系数,来计算二维信号的小波重构。 在这三个步骤中,重点内容就是如何选取阀值和如何进行阀值的量化。请注意, 了一维信号自动消噪的情况,对于其他的情况,一维信号的消噪和压缩用的是wdencmp, 这对于二维信号也是一样的。 编程 给定一个有较大白噪声的图象,利用二维小波分析进行信号消噪处理。 分析:由于图象所含的噪声主要是白噪声,且集中于高部分,故用第通实现消去噪声。程 序如下。 load tire; subplot(221); image(X); colormap(map); title('原图 '); axis square; %画出原图象 init=2055615866; randn('seed',init) x=X+38*randn(size(X)); subplot(222); image(x); colormap(map); title('含噪声图象 '); axis square; %画出含噪声图象 [c,s]=wavedec2(x,2,'sym4'); a1=wrcoef2('a',c,s,'sym4',1); %第一次低通滤波消噪 subplot(223); image(a1); title('第一次消噪后图象 '); axis square; %画出第一次低通滤波消噪后图象 a2=wrcoef2('a',c,s,'sym4',2); %第二次低通滤波消噪 subplot(224); image(a2); title('第二次消噪后图象 '); axis square; %画出第二次低通滤波消噪后图象
分析: 第一次消噪滤去了大部分高频噪声,但与原图比较,依然有不少高频噪声,第二次消噪在第一次消噪基础上,再次滤去高频噪声,消噪效果较好,但图像质量比原图稍差。 五:图象增强 说明 小波变换将一幅图象分解为大小、位置和方向都不同的分量。在做逆变换之前可以改变小波变换域中某些系数的大小,这样就能够洋选择的放大所感兴趣的分量而减小不需要的分量。 编程: 给定一个图象信号,用二维小波分析对图象进行增强处理。 [分析]由于图象经二维小波分解后,图象的轮廓主要体现在低频部分,而细节部分则体现子高频部分,因此,可以通过对低频分解系数进行增强处理,对高频分解系数进行衰减处理,即可以达到图象增强的作用。 具体处理过程如下程序: load woman; subplot(121); image(X); colormap(map); title(‘原始图象‘); axis square; %画出原图象 [c,s]=wavedec2(X,2,’sym4’); %进行二层小波分解 sizec=size(c); %处理分解系数,突出轮廓,弱化细节 for I =1:sizec(2) if(c( I )>350) c( I )=2*c( I ); else c( I )=0.5*c( I ); end end xx=waverec2(c,s,’sym4’); %分解系数重构 subplot(122); image(xx); title(‘增强图象‘) axis square; %画出增强图像 结果分析:
打到了图像增强的效果,试图像对比更加明显,但由于细节上的弱化,却使得图像产生模糊的感觉。就那妇女托着下腮的手来说,增强后的图像几乎就不能辨认。手指更是消失了。 六:图象融合 说明 图象融合是将同一对象的两个或更多的图象合成在一幅图象中,以便他比原来的任何一幅更能容易的为人们所理解。真一技术可应用于多频谱图象理解以及医学图象处理等领域,再这些场合,同一物体部件的图象往往是采用不同的成象机理得到的。 编程: 用二维小波分析将两幅图象融合在一起。 处理过程如下: load woman; %装入原图像 X1=X;map1=map; subplot(221); image(X1); colormap(map1); title(‘woman’); axis square %画出woman图像 load wbarb; %装入原图像 X2=X;map2=map; for I =1:256 for j=1:256 if(X2(I, j)>100) X2(I, j)=1.2*X2(I, j); else X2(I, j)=0.5*X2(I, j); end end end subplot(222); image(X2); colormap(map2); title(‘wbarb’); axis square %画出wbarb图像 [cl,sl]=wavedec2(X1,2,’sym4’); sizec1=size(c1); for I=1:sizec1(2) c1( I )=1.2*c1( I ); end [c2,s2]=wavedec2(X2,2,’sym4’); c=c1+c2; c=0.5*c; xx=waverec2(c,s,’sym4’); subplot(223);image(xx); title(‘融合图象‘); axis square %画出融合后的图像
结果分析: 一幅图像和他某一部分放大后的图像融合,融合后的图像给人一种朦朦胧胧梦幻般的感觉,对较深的背景部分则做了淡化处理。 七:图象平滑处理 说明 图像平滑的主要目的是为了减少噪声,一般情况下,在空间域内可以用于平均来减少噪声。在频率域,因为噪声浦多在高频段,因此可以曹用各种形式的低通滤波的办法来减少噪声。 编程 给定一个含噪声的图象,用二维小波分析和图象的中值滤波进行图象的平滑。 [分析]这是一个图象平滑处理问题。首先,对图象在频域内进行增强,然后在空域内加入较大的白噪声。通过对含噪图象进行平滑处理,即可以使含噪图象具有较好的平滑效果。具体处理过程如下: load woman; %装入原图 X1=X; map1=map; subplot(221); image(X1); colormap(map1); title('woman'); axis square %画出原图 [c,s]=wavedec2(X,2,’sym4’); %二层分解小波信号 sizec=size( c ); for I= 1:sizec(2) %频域里增强图像 if(c( I )>350) c( I )=1.3*c( I ); else d( I )=0.5*c( I ); end end xx=waverec(c,s,’sym4’); %系数重构 init=2788605826; %加入噪声 rand(‘seed’,init); xx=xx+68*(rand(size(xx))); subplot(221);image(xx); title(‘增强的含噪图象‘); axis square; for I=2:1:255 %中值滤波 for j=2:1:255 temp=0; for m=1:3 for n=1:3 temp=temp+xx(I+m-2,j+n-2); end end temp=temp/9; xx(I, j)=temp; end end colormap(map); subplot(222); image(xx); axis square; title(‘平滑后的图象‘); axis square %画出平滑后图像 结果分析:
平滑后的图像没有原图清晰,但边缘轮廓过渡更自然,消噪的效果还是比较明显的,噪声图像中的一些粒状颗粒在平滑后基本消失。 附录 函数名 功能 dwt2 单层二维小波分解 dwtper2 单层二为离散小波变换 wavedec2 多层二维小波分解 idwt2 单层二微小波重构 idwper2 单层二维小波分解 waverec2 多层二维小波重构 upwiev2 二维小波分解的单层重构 wrcoef2 二维小波分解系数单支重构 upcoef2 二维小波分解的直接重构 detcoef2 提取二微小波分解高频系数 appcoef2 提取二维小波分解低频系数 wthresh 进行软阈值或硬阈值处理 wthcoef2 二维信号的小波系数阈值处理 ddencmp 获取在消噪或压缩过程中的默认值阈值 wdencmp 用小波进行信号的消噪和压缩
|