⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hssa1.m

📁 这是伯克里wavelet transforms一书中的例子的代码
💻 M
字号:
function an = hssa1(img,al,ah)
%an = hssa1(array,lpf,hpf) effects a 1 level 2-D separable DWT of the 
%input array using the HSS biorthogonal filters defined by the filters 
%lpf and hpf. The output of the routine is returned to the array, an.
%Symmetric extension used to extend the data.
%
%This routine is used by the routine analh2d.
%
%Author: Ajit S. Bopardikar
%Copyright (c) 1998 by Addison Wesley Longman, Inc.
%

  [m,n]=size(img);
  ll = length(al);
  lh = length(ah);

  le = ll/2;
  he = lh/2;

  %first the rows

  extl = [img(:,le:-1:1) img img(:,n:-1:n-le+1)];%symmetric extension for
  exth = [img(:,he:-1:1) img img(:,n:-1:n-he+1)];%LP and HP subbands

  lo = conv2(extl,al); %lowpass subband
  hi = conv2(exth,ah); %highpass subband

  if (le/2 ~= round(le/2)) % if center is odd
    anr = [lo(:,ll:2:ll+n) hi(:,lh+2:2:lh+n-1)]'; 
  else %if center is even 
    anr = [lo(:,ll+1:2:n+ll) hi(:,lh+1:2:lh+n-1)]';
  end %end if - this completes the row decomposition

  %now for the columns
  extl = [anr(:,le:-1:1) anr anr(:,m:-1:m-le+1)];
  exth = [anr(:,he:-1:1) anr anr(:,m:-1:m-he+1)];

  lo = conv2(extl,al); %lowpass subband
  hi = conv2(exth,ah); %highpass subband

  if (le/2 ~= round(le/2)) % if center is odd
    an = [lo(:,ll:2:ll+m) hi(:,lh+2:2:lh+m-1)]'; 
  else %if center is even 
    an = [lo(:,ll+1:2:m+ll) hi(:,lh+1:2:lh+m-1)]';
  end %end if - this completes the column decomposition
   
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -