四:图像消噪 图像消噪方法的一般说明 对二维图像信号的消噪方法同样适用于一维信号,尤其是对于几何图像更适合。二维模型可以表述为 其中, 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 %画出平滑后图像
平滑后的图像没有原图清晰,但边缘轮廓过渡更自然,消噪的效果还是比较明显的,噪声图像中的一些粒状颗粒在平滑后基本消失。 附录 函数名 |
|