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

📄 wt2dscl.m

📁 该代码为图像融合的vc源程序,对学习图像融合有很重要的价值
💻 M
字号:
function w=wt2dscl(i,wavfile,reflect,nscales)
%$Id: wt2dscl.m,v 1.1.1.1 2000/10/16 09:30:40 mattb Exp $
%===========================================================================
%                   Matt Bowers - University of Bath
%
%                        Copyright (c) 1996
%===========================================================================
%
% Performs multi-scale 2D forward wavelet transform
%
% Arguements:
%   i           image matrix to transform
%   wavfile     full path of wavelet .wav file
%   reflect     =0 for wrapround edge treatment (any wavelet)
%               =1 for reflection (symmetrical wavelets only)
%   nscales     number of scales to be performed
%
% Returns:
%   w           matrix of floating point transform coefficients
%
%===========================================================================

[c_c c_u c_c_min c_c_max c_u_min c_u_max] =readwav(wavfile);				% Read wavelet file
[H_zero F_zero H_one F_one] = mkfilt(c_c,c_u, c_c_min, c_c_max, c_u_min, c_u_max);	% Construct filters

if reflect				% Set edge to specify edge handling
  if rem(length(H_zero),2)	% Odd or even length wavelet?
%    disp('Odd reflect')
    edge=1;
  else
%    disp('Even reflect')
    edge=2;
  end
else
  edge=0;				% Else wraparound
end 

[img_y img_x]=size(i);			% Image size
if rem(img_x,2)				% Check even
  error('Odd size image in x')
end
if rem(img_y,2)				% Check even
  error('Odd size image in y')
end

%disp(['Forward 2D-wavelet transform, nscales=' num2str(nscales)])
w=i;
for scale=1:nscales						% Loop for scales
  if rem(img_x,2)						% Check for even size
    error(['Odd size in x at scale' num2str(scale)])
  end 
  if rem(img_y,2)						% Check for even size
    error(['Odd size in y at scale' num2str(scale)])
  end 
%  disp(['   Scale=' num2str(scale)])
  [lpfx hpfx]=mkindex(img_x,c_c_min,c_c_max,c_u_min,c_u_max, edge);		% Create indexing matrices
  [lpfy hpfy]=mkindex(img_y,c_c_min,c_c_max,c_u_min,c_u_max, edge);		% Create indexing matrices
  w(1:img_y,1:img_x)=wt2d(w(1:img_y,1:img_x),lpfy,hpfy,lpfx,hpfx,H_zero,H_one);	% Wavelet transform
  img_x=img_x/2;								% Next scale size
  img_y=img_y/2;								% Next scale size
end

⌨️ 快捷键说明

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