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

📄 wavefast.m

📁 开发的两个小波变换函数对图像进行小波变换
💻 M
字号:
function [c,s]=wavefast(x,n,varargin)
error(nargchk(3,4,nargin));
if nargin==3
     if ischar(varargin{1})
         [lp,hp]=wavefilter(varargin{1},'d');
     else
         error('missing wavelet name.');
     end
 else
     lp=varargin{1};hp=varargin{2};
 end
 f1=length(lp); sx=size(x);
 if(ndims(x)~=2)|(min(sx)<2)|~isreal(x)|~isnumeric(x)
     error('x must be a real,numeric matrix.');
 end
 if (ndims(lp)~=2)|~isreal(lp)|~isnumeric(lp)...
         |(ndims(hp)~=2)|~isreal(hp)|~isnumeric(hp)...
         |(f1~=length(hp))|rom(f1,2)~=0
     error(['lp and hp must be even and equal length real,'...
             'numeric filter vectors.']);
 end
 if ~isreal(n)|~isnumeric(n)|(n<1)|(n>log2(max(sx)))
     error(['n must be a real scalar between 1 and'...
             'log2(max(size((x))).']);
 end
 c=[]; s=sx; app=double(x);
 for i=1:n
     [app,keep]=symextend(app,f1);
     rows=symconv(app,hp,'row',f1,keep);
     coefs=symconv(rows,hp,'col',f1,keep);
     c=[coefs(:)' c];s=[size(coefs);s];
     coefs=symconv(rows,lp,'col',f1,keep);
     c=[coefs(:)' c];
     rows=symconv(app,lp,'row',f1,keep);
     coefs=symconv(rows,hp,'col',f1,keep);
     c=[coefs(:)' c];
     app=symconv(rows,lp,'col',f1,keep);
 end
 c=[app(:)' c];s=[size(app);s];

⌨️ 快捷键说明

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