mrdwt.m
上传用户:speoil
上传日期:2022-06-23
资源大小:224k
文件大小:5k
源码类别:

波变换

开发平台:

Matlab

  1. function [yl,yh,L] = mrdwt(x,h,L);
  2. %    [yl,yh,L] = mrdwt(x,h,L);
  3. %    Function computes the redundant discrete wavelet transform y
  4. %    for a 1D  or 2D input signal. (Redundant means here that the
  5. %    sub-sampling after each stage is omitted.) yl contains the
  6. %    lowpass and yh the highpass components. In the case of a 2D
  7. %    signal, the ordering in yh is 
  8. %    [lh hl hh lh hl ... ] (first letter refers to row, second to
  9. %    column filtering). 
  10. %
  11. %    Input:
  12. %      x : finite length 1D or 2D signal (implicitly periodized)
  13. %       h : scaling filter
  14. %       L : number of levels. In the case of a 1D 
  15. %           length(x) must be  divisible by 2^L;
  16. %           in the case of a 2D signal, the row and the
  17. %           column dimension must be divisible by 2^L.
  18. %           If no argument is
  19. %           specified, a full DWT is returned for maximal possible L.
  20. %   
  21. %    Output:
  22. %       yl : lowpass component
  23. %       yh : highpass components
  24. %       L  : number of levels
  25. %
  26. %  HERE'S AN EASY WAY TO RUN THE EXAMPLES:
  27. %  Cut-and-paste the example you want to run to a new file 
  28. %  called ex.m, for example. Delete out the % at the beginning 
  29. %  of each line in ex.m (Can use search-and-replace in your editor
  30. %  to replace it with a space). Type 'ex' in matlab and hit return.
  31. %
  32. %
  33. %    Example 1::
  34. %    x = makesig('Leopold',8);
  35. %    h = daubcqf(4,'min');
  36. %    L = 1;
  37. %    [yl,yh,L] = mrdwt(x,h,L)
  38. %    yl =  0.8365  0.4830 0 0 0 0 -0.1294 0.2241
  39. %    yh = -0.2241 -0.1294 0 0 0 0 -0.4830 0.8365
  40. %    L = 1
  41. %    Example 2:
  42. %    load lena;
  43. %    h = daubcqf(4,'min');
  44. %    L = 2;
  45. %    [ll_lev2,yh,L] = mrdwt(lena,h,L); % lena is a 256x256 matrix
  46. %    N = 256;
  47. %    lh_lev1 = yh(:,1:N); 
  48. %    hl_lev1 = yh(:,N+1:2*N); 
  49. %    hh_lev1 = yh(:,2*N+1:3*N);
  50. %    lh_lev2 = yh(:,3*N+1:4*N); 
  51. %    hl_lev2 = yh(:,4*N+1:5*N); 
  52. %    hh_lev2 = yh(:,5*N+1:6*N);
  53. %    figure; colormap(gray); imagesc(lena); title('Original Image');
  54. %    figure; colormap(gray); imagesc(ll_lev2); title('LL Level 2');
  55. %    figure; colormap(gray); imagesc(hh_lev2); title('HH Level 2');
  56. %    figure; colormap(gray); imagesc(hl_lev2); title('HL Level 2');
  57. %    figure; colormap(gray); imagesc(lh_lev2); title('LH Level 2');
  58. %    figure; colormap(gray); imagesc(hh_lev1); title('HH Level 1');
  59. %    figure; colormap(gray); imagesc(hl_lev2); title('HL Level 1');
  60. %    figure; colormap(gray); imagesc(lh_lev2); title('LH Level 1');
  61. %           
  62. %    See also: mdwt, midwt, mirdwt
  63. %
  64. %    Warning! min(size(x))/2^L should be greater than length(h)
  65. %
  66. %File Name: mrdwt.m
  67. %Last Modification Date: 08/07/95 15:14:47
  68. %Current Version: mrdwt.m 2.4
  69. %File Creation Date: Wed Oct 19 10:51:58 1994
  70. %Author: Markus Lang  <lang@jazz.rice.edu>
  71. %
  72. %Copyright (c) 2000 RICE UNIVERSITY. All rights reserved.
  73. %Created by Markus Lang, Department of ECE, Rice University. 
  74. %
  75. %This software is distributed and licensed to you on a non-exclusive 
  76. %basis, free-of-charge. Redistribution and use in source and binary forms, 
  77. %with or without modification, are permitted provided that the following 
  78. %conditions are met:
  79. %
  80. %1. Redistribution of source code must retain the above copyright notice, 
  81. %   this list of conditions and the following disclaimer.
  82. %2. Redistribution in binary form must reproduce the above copyright notice, 
  83. %   this list of conditions and the following disclaimer in the 
  84. %   documentation and/or other materials provided with the distribution.
  85. %3. All advertising materials mentioning features or use of this software 
  86. %   must display the following acknowledgment: This product includes 
  87. %   software developed by Rice University, Houston, Texas and its contributors.
  88. %4. Neither the name of the University nor the names of its contributors 
  89. %   may be used to endorse or promote products derived from this software 
  90. %   without specific prior written permission.
  91. %
  92. %THIS SOFTWARE IS PROVIDED BY WILLIAM MARSH RICE UNIVERSITY, HOUSTON, TEXAS, 
  93. %AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 
  94. %BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
  95. %FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RICE UNIVERSITY 
  96. %OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  97. %EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  98. %PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
  99. %OR BUSINESS INTERRUPTIONS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  100. %WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
  101. %OTHERWISE), PRODUCT LIABILITY, OR OTHERWISE ARISING IN ANY WAY OUT OF THE 
  102. %USE OF THIS SOFTWARE,  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  103. %
  104. %For information on commercial licenses, contact Rice University's Office of 
  105. %Technology Transfer at techtran@rice.edu or (713) 348-6173
  106. %
  107. %Change History:
  108. %Modification #1
  109. %Mon Aug  7 14:26:26 CDT 1995
  110. %Rebecca Hindman <hindman@ece.rice.edu>
  111. %Added L to function line so that it can be displayed as an output
  112. %Thursday Mar 2 2000
  113. % Added Example 2
  114. % Felix Fernandes <felixf@rice.edu>