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

📄 iwt2dscl.m

📁 该代码为图像融合的vc源程序,对学习图像融合有很重要的价值
💻 M
字号:
function i=iwt2dscl(w,wavfile,reflect,nscales)
%$Id: iwt2dscl.m,v 1.1.1.1 2000/10/16 09:30:40 mattb Exp $
%===========================================================================
%                   Matt Bowers - University of Bath
%
%                        Copyright (c) 1996
%===========================================================================
%
% Performs am multi-scale 2D reverse wavelet transform.
%
% Arguements:
%   w           matrix of transform coefficients
%   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:      floating point reconstructed image matrix
%
%===========================================================================d

[c_c c_u c_c_min c_c_max c_u_min c_u_max] =readwav(wavfile);	% Read in wavelet
[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 analysis
% and synthesis filter
% from wavelet
if reflect				% Set 'edge' to specify edge treatment
  if rem(length(H_zero),2)	% Odd or even length wavelet?
%    disp('Odd reflect')
    edge=1;	%odd
  else
%    disp('Even reflect')
    edge=2;	%even
  end
else
  edge=0;				% Wrapround
end 

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

%disp(['Reverse 2D-wavelet transform, nscales=' num2str(nscales)])
i=w;
img_x=img_x/(2^(nscales-1));		% Set to smallest scale
img_y=img_y/(2^(nscales-1));		% Set to smallest scale
for scale=1:nscales			% Loop for scales
%  disp(['   Scale=' num2str(scale)])
  [lpfx hpfx is2x]=imkindex(img_x,c_c_min,c_c_max,c_u_min,c_u_max,edge);	% Create indexing mx's
  [lpfy hpfy is2y]=imkindex(img_y,c_c_min,c_c_max,c_u_min,c_u_max,edge);	% Create indexing mx's
  i(1:img_y,1:img_x)=iwt2d(i(1:img_y,1:img_x),lpfy,hpfy,is2y,lpfx,hpfx,is2x,F_zero,F_one);	% Reverse 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 + -