基于Matlab的小波分析与设计

淮南师范学院2012届本科毕业论文

21

%显示三幅图像

subplot(221);image(wcodemat(X,192));colormap(gray(256));title('原始图像','fontsize',18);

subplot(223);image(wcodemat(blur1,192));colormap(gray(256));title('采用DCT方法钝化图像','fontsize',18);

subplot(224);image(wcodemat(blur2,192));colormap(gray(256));title('采用小波方法钝化图像','fontsize',18); 结果如下图所示

图6:图像钝化

从图中我们可以看出从图中可以看出,采用DCT在频域做滤波的方法得到钝化结果更为平滑,这是因为其分辨率最高,而小波方法得到的结果在很多地方有不连续的现象,因为我们对系数做放大或抑制在阈值两侧有间断,而且分解层数很低,没有完全分离出频域的信息。而且我们在做系数放大或抑制的时候,采用的标准是根据系数绝对值的大小,没有完全体现出其位置信息,但是在小波系数中,我们很容易在处理系数的过程中

21

基于Matlab的小波分析与设计 22

加入位置信息。 3.3.2图像锐化

与图像钝化所做的工作相反,图像锐化的任务是突出高频信息,抑制低频信息,从快速变化的成分中分离出标识系统特性或区分子系统边界的成分,以便于进一步的识别、分割等操作。

在时域(空域)中,锐化的方法不外乎是作用掩码或做差分,同钝化的道理一样,无论是掩码和差分都很难识别点之间的关联信息,我们下面的例子同样是在频域完成的,用传统的傅立叶分析方法(这里采用的是DCT变换)得到的频域系数。

例如: load chess;

%分别保存用DCT方法和小波方法的变换系数 blur1=X; blur2=X;

%对原图像做二维离散余弦变换 ff1=dct2(X);

%对变换结果在频域做BUTTERWORTH滤波 for i=1:256 for j=1:256

ff1(i,j)=ff1(i,j)/(1+(32768/(i*i+j*j))^2); end end

%重建变换后的图像 blur1=idct2(ff1);

%对图像做2层的二维小波分解 [c,l]=wavedec2(X,2,'db3'); csize=size(c);

%对低频系数进行放大处理,并抑制高频系数 for i=1:csize(2); if(abs(c(i))<300)

22

淮南师范学院2012届本科毕业论文

23

c(i)=c(i)*2; else

c(i)=c(i)/2; end end

%通过处理后的小波系数重建图像 blur2=waverec2(c,l,'db3'); %显示三幅图像

subplot(221);image(wcodemat(X,192));colormap(gray(256));title('原始图像','fontsize',18);

subplot(223);image(wcodemat(blur1,192));colormap(gray(256));title('采用DCT方法锐化图像','fontsize',18);

subplot(224);image(wcodemat(blur2,192));colormap(gray(256));title('采用小波方法锐化图像','fontsize',18); 结果如下

23

基于Matlab的小波分析与设计 24

图7:图像锐化

从结果中可以看出,使用DCT方法进行高通滤波得到的高频结果比较纯粹,完全是原图像上的边缘信息,而在小波方法得到的结果中,不只有高频成分,还有变换非常缓慢的低频成分,这是因为两者同样在小波系数上体现为绝对值较低的部分,但这些成分的存在对我们进行进一步分析并无多大影响。

最后我们来比较一次这两个例子的时间复杂度,对DCT方法,需要做两次复杂度为O(nlogn)的DCT变换,中间系数处理部分复杂度为O(n),而对小波变换,无论是分解和重构还有系数处理的复杂度都是O(n),所以时间复杂度的优势非常明显。 3.4小波分析用于图像融合

图像融合是将同一对象的两个或更多的图像合成在一幅图像中,以便它比原来的任何一幅图像更容易得为人们所理解。这一技术可应用于多频谱图像理解以及医学图像处理等领域。在这些场合。同一物体部件的图像往往是采用不同的成像机理得到的。迄今为止,数据融合方法主要是在像元级和特征级上进行的。常用的融合方法有HIS融合法、KL变换融合法、高通滤波融合法、小波变换融合法、金字塔变换融合法、样条变换融合

24

联系客服:779662525#qq.com(#替换为@)