- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小波分解
小波分析把图像分解为两部分:低频信息+高频信息。低频信息是变化缓慢的部分,是图像的框架,也是轮廓,占全部信息的大部分;高频信息是变化迅速的部分(如从黑色跳变到白色),它反映的是图像的细节信息,占全部信息的小部分。以上是第一层分解。
在第一层的基础上把高频信息部分再分解为两部分:低频+高频。第三层是把第二层分解出来的高频信息分解为低频+高频...依次类推。
以上是单尺度分解,低频部分不进行再分解。若是多尺度分解,会把低频部分像高频部分那样一层一层分解。
[c,l] = wavedec(s,3,db1);
l是length的意思,记录的是由高到低各级的长度。
s代表进行分解的变量;
3代表分解层数
对1张图象进行小波分解,可以在MATLAB中实现。在COMMAND WINDOWS窗口中直接输入wavedemo进入说明,wavemenu进使用程序,也可以直接编程。程序在wavedemo里面自带。
DWT2是二维单尺度小波变换,其可以通过指定小波或者分解滤波器进行二维单尺度小波分解。而WAVEDEC2是二维多尺度小波分解。DWT2的一种语法格式是[cA,cH,cV,cD]=dwt2(X,wname);而对应的WAVEDEC2的语法格式是[C,S]=wavedec2(X,N,wname),其中N为大于1的正整数。也就是说DWT2只能对某个输入矩阵X进行一次分解,而WAVEDEC2可以对输入矩阵X进行N次分解。
padarray功能:填充图像或填充数组。用法:B = padarray(A,padsize,padval,direction)? ??? A为输入图像,B为填充后的图像,
padsize给出了给出了填充的行数和列数,通常用[r c]来表示。
padval表示填充方法。它的具体值和描述如下: padval:??????symmetric表示图像大小通过围绕边界进行镜像反射来扩展;? ?? ?? ?? ?? ?? ?replicate表示图像大小通过复制外边界中的值来扩展;? ?? ?? ?? ?? ?? ?circular图像大小通过将图像看成是一个二维周期函数的一个周期来进行扩展。
?
direction表示填充的方向。它的具体值和描述如下:???direction?:???pre表示在每一维的第一个元素前填充;? ?? ?? ?? ?? ?? ?post表示在每一维的最后一个元素后填充;? ?? ?? ?? ?? ?? ?both表示在每一维的第一个元素前和最后一个元素后填充,此项为默认值。
若参量中不包括direction,则默认值为both。
若参量中不包含padval,则默认用零来填充。
若参量中不包括任何参数,则默认填充为零且方向为both。在计算结束时,图像会被修剪成原始大小。
提取小波系数的matlab程序
% 装载leleccum信号
load leleccum;
s = leleccum(1:3920);
% 用db1小波函数对信号进行三尺度小波分解
[C,L]=wavedec(s,2,db1);
figure(1);
plot(s);
title(leleccum原始信号);
% 提取尺度1的低频系数
cA1 = appcoef(C,L,db1,1); %用小波分解框架[C.L]计算1层低频系数的近似值,小波基为db1
% 提取尺度2的低频系数
cA2 = appcoef(C,L,db1,2);
figure(2);
subplot(2,1,1);
plot(cA1);
title(尺度1的低频系数);
subplot(2,1,2);
plot(cA2);
title(尺度2的低频系数);
% 提取尺度1的高频系数
cD1 = detcoef(C,L,1); %用小波分解框架[C.L]计算1层高频系数的近似值,小波基为db1
% 提取尺度2的高频系数
cD2 = detcoef(C,L,2);
figure(3);
subplot(2,1,1);
plot(cD1);
title(尺度1的高频系数);
subplot(2,1,2);
plot(cD2);
title(尺度2的高频系数);
X=imread(lena.bmp);X=double(X);% %%%%%%%%%用小波函数db1对信号X进行尺度为23的分解%%%%%%[c,s]=wavedec2(X,3,db1);sizex=size(X);sizec=size(c);val_s=s;% % %%%%%%%%%%%%%%%%提取尺度为3的低频系数%%%%ca3=appcoef2(c,s,db1,3);sizeca3=size(ca3);% %%%%%%%%%%%%%%%%提取尺度为2的
文档评论(0)