一个单尺度小波分解的程序-MATLAB版
2014-07-02 15:51
363 查看
function [appcoef,horicoef,vertcoef,diacoef]=wavedwt(x,N,wname)error(nargchk(3,3,nargin));[ld,hd]=wfilters(wname,'d');x=rgb2gray(x);x=double(x);appcoe=x;dprow=[];hprow=[];for k=1:N[height,width]=size(appcoe);for i=1:height[lc,hc]=dwt(appcoe(i,:),ld,hd,'row');dprow=[dprow;lc];hprow=[hprow;hc];end;appcoe=[dprow,hprow];appcoef=[];vertcoef=[];horicoef=[];diacoef=[];[row,col]=size(appcoe);for j=1:coltemp=appcoe(:,j);[lc,hc]=dwt(temp,ld.',hd.','colnum');appcoef=[appcoef,lc];vertcoef=[vertcoef,hc];end;last=[appcoef;vertcoef];appcoe=appcoef;end;temp1=mat2gray(last)imshow(temp1);function [lc,hc]=dwt(h_or_wcoef,lpd,hpd,rwname)lc=conv(h_or_wcoef,lpd);lc=dowsample(lc,rwname);hc=conv(h_or_wcoef,hpd);hc=dowsample(hc,rwname);function dos=dowsample(coe,rwname)lengt=length(coe);n=floor(lengt/2);if strcmp(rwname,'row')dos=zeros(1,n);else dos=zeros(n,1);end;k=1:n;dos(k)=coe(2*k);
相关文章推荐
- MATLAB与VC++混合编程实现一维小波多尺度分解
- 小波图像分解 Matlab 程序 - V3.0版
- 多尺度小波分解与重构,matlab,对系数进行处理后,构造C,重构信号
- 自己动手编写小波信号分解与重构的Matlab程序
- 小波图像分解 Matlab 程序 - V2.0版
- 自己动手编写小波信号分解与重构的Matlab程序
- 一维小波多尺度分解及重构的MATLAB实现
- 【转载】MATLAB与VC++混合编程实现一维小波多尺度分解
- 小波分解重构 V2.0 版程序存在的问题分析
- 用自编的程序实现小波图像分解与重构
- matlab下小波分解的例子
- 【转】 尺度不变特征变换(SIFT算法)Matlab程序代码测试例子说明(Lowe的代码)
- 语音子带编码的子带分解与综合MATLAB程序(基于树形结构滤波器)
- 花一天时间搜索,居然找到一个德国人写的论文里面有用Matlab读取*.spa文件的程序片段
- 一个水母BBS上的SA的MATLAB程序
- 基于matlab的图像小波降噪程序
- 小波分析的matlab程序
- 小波变换边缘提取程序MATLAB
- 一个简单的MATLAB读写文本文件程序--稀疏矩阵向量乘法
- 由滤波器系数绘制尺度函数和小波函数图像的Matlab程序