iwt.m

来自「该代码为图像融合的vc源程序,对学习图像融合有很重要的价值」· M 代码 · 共 59 行

M
59
字号
function f=iwt(w,F_zero,F_one,c_c_min,c_c_max,c_u_min,c_u_max, edge)
%$Id: iwt.m,v 1.1.1.1 2000/10/16 09:30:40 mattb Exp $
%===========================================================================
%                   Matt Bowers - University of Bath
%
%                        Copyright (c) 1996
%===========================================================================
%
% Inverse wavelet transform of w, using filters F_one and F_zero
% edge affects handling of edges:
%
%   = 0 for wrapround (any wavelet)
%   = 1 for odd reflection with symmetrical wavelet only
%   = 2 for even reflection with symmetrical wavelet only
%
%===========================================================================

N=length(w);
f=zeros(1,N);
half_N=fix(N/2);
s2=ones(length(i),1);

for x=0:(N-1)
  % lpf
  kumin=ceil((x-c_u_max)/2 -0.25); 
  kumax=floor((x-c_u_min)/2 +0.25);
  i = [kumin:kumax];
  kix=i;
  if edge==2
    [kix dummy]=rfl_22(kix,half_N);
  elseif edge==1
    kix=rfl_12(kix,half_N);
  else
    kix=wrap(kix,half_N);
  end 
  %   kix*2
  %   w(kix+1)'
  %   F_zero(-x+i+i+c_u_max+1)

  f(x+1)=f(x+1) + w(kix+1)*F_zero(-x+i+i+c_u_max+1);

  %  hpf
  kcmin=ceil((c_c_min+x-1)/2 - 0.25);
  kcmax=floor((c_c_max+x-1)/2 +0.25);
  i= [kcmin:kcmax];
  kix=i;
  if edge==2
    [kix s2]=rfl_22(kix,half_N);
  elseif edge==1
    kix=rfl_21(kix,half_N);
  else
    kix=wrap(kix,half_N);
  end
  %   s2
  w(half_N+kix+1)'
  %   F_one(i+i-x-c_c_min+2)
  f(x+1) = f(x+1)+ (w(half_N+kix+1)*(-s2 .* F_one(i+i-x-c_c_min+2)));
end

⌨️ 快捷键说明

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