小波实验报告双树复小波变换.docVIP

  • 170
  • 0
  • 约2.51万字
  • 约 20页
  • 2017-12-03 发布于湖北
  • 举报
小波实验报告双树复小波变换

一、题目:双树复小波变换 二、目的:双树复小波和实小波变换的比较 三、算法及其实现:提取阶梯型边界点 算法。 幅值: 相位: 代码实现。 我采用Matlab函数编程实现。具体程序见shift_test_2D.m,drawcirc.m,setfig.m,dtwavexfm2.m,dtwaveifm2.m,waveifm2.m,wavexfm2.m SkelMap.m。 设 和 分别是双正交对偶尺度函数与对偶小波, , , 和 是相应的低通滤波器和高通滤波器,即它们满足 实部: 虚部: 双树复小波变换可以通过离散小波变换DWT实现:一个DWT产生实部,另一个产生虚部。 实现工具:Matlab 程序代码: (1)shift_test_2D.m: % shift_test_2D.m % % M-file to perform a 4-level wavelet transform on a circle using Q-shift % dual wavelet tree and DWT, and to compare shift invariance properties. % % Nick Kingsbury, Cambridge University, May 2002. clear all close all % Draw a circular disc. x = round((drawcirc(64,1,0,0,256) - 0.5) * 200); setfig(1); colormap(gray(256)) image(min(max(x+128,1),256)); set(gca,position,[0.1 0.25 .25 .5]); axis(off); axis(image); % draw(xx); title(Input (256 x 256),FontSize,14); drawnow % Do 4 levels of CWT. [Yl,Yh] = dtwavexfm2(x,4,near_sym_b,qshift_b); % Loop to reconstruct output from coefs at each level in turn. % Starts with the finest level. titl = [1st;2nd;3rd;4th;Low]; yy = zeros(size(x) .* [2 3]); yt1 = 1:size(x,1); yt2 = 1:size(x,2); for mlev = 1:5, mask = zeros(6,5); mask(:,mlev) = 1; z = dtwaveifm2(Yl*mask(1,5),Yh,near_sym_b,qshift_b,mask); figure;draw(z);drawnow yy(yt1,yt2) = z; yt2 = yt2 + size(x,2)/2; end % disp(Press a key ...) % pause % Now do same with DWT. % Do 4 levels of Real DWT using antonini (9,7)-tap filters. [Yl,Yh] = wavexfm2(x,4,antonini); yt1 = [1:size(x,1)] + size(x,1); yt2 = 1:size(x,2); for mlev = 1:5, mask = zeros(3,5); mask(:,mlev) = 1; z = waveifm2(Yl*mask(1,5),Yh,antonini,mask); figure;draw(z);drawnow yy(yt1,yt2) = z; yt2 = yt2 + size(x,2)/2; end figure; setfig(gcf); colormap(gray(256)) image(min(max(yy+128,1),256)); set(gca,position,[0.1 0.1 .8 .8]); axis(off); axis(image); hold on plot(128*[[1;1]*[1:4] [0;6]]+1,128*[[0;4]*[1 1 1 1] [2;2]]+1,-k); hold off title(Components of reconstructed disc

文档评论(0)

1亿VIP精品文档

相关文档