- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三图像变换自编小波函数
实验三 图像变换 姓名: 学号: 邮箱: 实验目的 掌握小波变换的原理与方法 了解小波变换在图像变换中的应用 理解小波变换的特点 熟悉MATLAB编程 实验原理 一个2-D缩放函数u(x,y)和三个2-D小波函数,,(其中上标H,V和D分别指示水平,垂直和对角方向)它们每一个都是1-D缩放函数u和对应的小波函数v的乘积: 其中u(x,y)是一个可分离的缩放函数,而,,是三个对方向敏感的小波函数。 先定义缩放和平移的基函数: 然后就可得到尺寸为的2-D图像f(x,y)的离散小波变换 通过离散小波反变换得到f(x,y) 实验内容 快速小波变换(Mallat小波分解算法):对一幅图像做2级小波分解(离散小波变换)与合成(离散小波反变换) 1、自己编写离散小波变换与离散小波反变换程序,小波函数自选(例如哈尔函数等)。 2、直接调用MATLAB 2-D图像小波变换与反变换函数,重复上述实验。 实验过程与结果 1.自已编写的MATLAB程序如下(先列出主程序,然后给出各功能子程序的程序): clear all; load(lena.mat)%调入170*170大小的一幅彩色lena图像 l=imresize(lena,[256 256]);%将图像变换为8的整数倍大小 K=rgb2gray(l); x=double(K);%将图像转换为双精度类型 [LL1,HL1,LH1,HH1]=mydwt2(x); [LL2,HL2,LH2,HH2]=mydwt2(LL1); [row,col]=size(x); % 求出缓存矩阵的行列数 y2(1:row/2,1:col/2)=[LL2,HL2;LH2,HH2]; y1(1:row,1:col)=[y2,HL1;LH1,HH1]; figure imshow(y1,[]); title(二层小波分解后图像) 其中,主程序所要用到的各个功能子函数程序如下: 一维离散小波变换mydwt子程序如下: function [cA,cD] = mydwt(x,lpd,hpd,dim) % 一维离散小波分解,输出分解序列[cA,cD],lpd—低通滤波器; hpd—高通滤波器;dim—小波分解级数。输出参数:cA——平均部分的小波分解系数;cD——细节部分的小波分解系数。 cA=x; % 初始化cA,cD cD=[]; for i=1:dim cvl=conv(cA,lpd); % 低通滤波 dnl=downspl(cvl); % 下抽样求平均部分分解系数 cvh=conv(cA,hpd); % 高通滤波 dnh=downspl(cvh); % 下抽样求出本层分解后的细节部分系数 cA=dnl; % 下抽样后的平均部分系数进入下一层分解 cD=[cD,dnh]; % 将本层分解细节系数存入序列cD end end 二维离散小波变换mydwt2子程序如下: function [LL,HL,LH,HH]=mydwt2(x) % 二维小波分解,输出参数:LL,HL,LH,HH —— 是分解系数矩阵的四个相等大小的子矩阵,大小均为 r/2 * c/2 维 lpd=[1/2 1/2];hpd=[-1/2 1/2]; % 默认的低通、高通滤波器 [row,col]=size(x); % 读取输入矩阵的大小 for j=1:row % 对输入矩阵每一行进行一维离散小波分解 tmp1=x(j,:); [ca1,cd1]=mydwt(tmp1,lpd,hpd,1); x(j,:)=[ca1,cd1]; %将分解系数序再存入矩阵x中 end for k=1:col % 对输入矩阵的每一列一维离散小波分解 tmp2=x(:,k); [ca2,cd2]=mydwt(tmp2,lpd,hpd,1); x(:,k)=[ca2,cd2]; % 将分解系数存入矩阵x中,得到[LL,Hl;LH,HH] end LL=x(1:row/2,1:col/2); LH=x(row/2+1:row,1:col/2); HL=x(1:row/2,col/2+1:col); HH=x(row/2+1:row,col/2+1:col); end 下抽样子程序downspl如下: function y=downspl(x) % 下抽样是对输入序列取其偶数位,舍弃奇数位。例如 x=[x1,x2,x3,x
文档评论(0)