您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 小波分析在图像处理中的作用
任务书1本课题研究目的(1)了解图像变换的意义和手段(2)熟悉离散余弦变换的基本性质(3)热练掌握FFT的方法反应用(4)通过本实验掌握利用MATLAB编程实现数字图像的离散余弦变换。通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养综合设计能力。2本课题完成任务(重点、难点)(1)熟悉并掌握离散余弦变换(2)了解离散余弦在图像处理中的作用(3)通过实验了解小波分析在图像处理中的应用(4)用MATLAB实现离散余弦变换仿真3本课题实施要求摘要基于离散余弦变换的图像压缩算法,其基本思想是在频域对信号进行分解,去除信号点之间的相关性,并找出重要系数,滤掉次要系数,以达到压缩的效果,但该方法在处理过程中并不能提供时域的信息,在比较关心时域特性的时候显得无能为力。但是这种应用的需求是很广泛的,比如遥感测控图像,要求在整幅图像有很高压缩比的同时,对热点部分的图像要有较高的分辨率,单纯的频域分析的方法显然不能达到这个要求,虽然可以通过对图像进行分块分解,然后对每块作用不同的阀值或掩码来达到这个要求,但分块大小相对固定,有失灵活性。在这个方面,小波分析就优越的多,由于小波分析固有的时频特性,可以在时频两个方向对系数进行处理,这样就可以对感兴趣的部分提供不同的压缩精度。第一章:课题意义小波变换是对人们熟知的傅里叶变换与短时(窗口)傅里叶变换的一个重大突破,为信号分析、图像处理、量子物理及其它非线性科学的研究领域带来革命性的影响,是20世纪公认的最辉煌的科学成就之一。图像处理的目的,就是对数字化后的图像信息进行某些运算或处理,以提高图像的质量或达到人们所要求的预期结果。图像处理的任务是对未加工的图像进行一定处理而成为所需的图像。小波在图像处理上的应用思路主要采用将空间或者时间域上的图像信号(数据)变换到小波域上,成为多层次的小波系数,根据小波基的特性,分析小波系数特点,针对不同需求,结合常规的图像处理方法(算法)或提出更符合小波分析的新方法(算法)来处理小波系数,再对处理后的小波系数进行反变换(逆变换),将得到所需的目标图像。第二章:小波分析的应用研究现状国外研究小波的时间较早,80年代就有相关的文章和著作发表,Mallat算法是小波理论突破性的成果,其作用相当于傅里叶分析的FFT。1989年,Meyer出版的《小波与算子》是目前较权威较系统的小波理论著作。美国TexasA&M大学数学与电气工程教授、逼近论中心主任、小波研究的权威之一崔锦泰著的‘Anintroductiontowavelets’是美国科学出版社出版的一部小波研究向深广方向发展。Daubechies的‘Thelecturesonwavelets’总结了她的研究成果,为向世界科技工作者普及小波理论做出了积极的贡献。我国对小波的研究起步较晚,1994年形成国内的小波研究高潮,并在信号的去噪和图像的压缩、机械故障检测等方面取得了较大的进展。从公开发表的应用性文章的内容来看,主要可分为两大部分:一部分是利用小波分析对信号进行消噪处理,以提高解释方法的分辨率,这一部分包括小波变换用于信噪分离、弱信号的提取以及信号奇异点与奇异度的测定和多尺度边缘检测与重构;另一部分是利用小波分析做图像或数据压缩。利用小波分析对信号或图像进行去噪或压缩处理,最关键的就是如何选阀值和如何进行阀值的量化,从某种程度上说,他直接关系到信号消噪和压缩的质量。有关量化编码方法目前只要采用嵌入式零树小波EZW编码、多级树集合分裂编码SPIHT、集合分裂嵌入块编码SPECK以及可逆嵌入小波压缩算法CREW。现在我国有一批年轻的博士哥说是正在努力攻关,期待去的小波及其应用研究的突破性进展。第三章:小波分析的算法设计利用小波变换的时频局部化特性,把图像的细节系数都置零,从压缩图像中可以很明显的看出只有中间部分变得模糊,而其他部分的细节信息可以分辨的很清楚。1.图像局部压缩,MATLAB代码设置如下:loadtire%使用sym4小波对信号进行一层小波分解[ca1,ch1,cv1,cd1]=dwt2(X,'sym4');codca1=wcodemat(ca1,192);codch1=wcodemat(ch1,192);codcv1=wcodemat(cv1,192);codcd1=wcodemat(cd1,192);%将四个系数图像组合为一个图像codx=[codca1,codch1,codcv1,codcd1]%复制原图像的小波系数rca1=ca1;rch1=ch1;rcv1=cv1;rcd1=cd1;%将三个细节系数的中部置零rch1(33:97,33:97)=zeros(65,65);rcv1(33:97,33:97)=zeros(65,65);rcd1(33:97,33:97)=zeros(65,65);codrca1=wcodemat(rca1,192);codrch1=wcodemat(rch1,192);codrcv1=wcodemat(rcv1,192);codrcd1=wcodemat(rcd1,192);%将处理后的系数图像组合为一个图像codrx=[codrca1,codrch1,codrcv1,codrcd1]%重建处理后的系数rx=idwt2(rca1,rch1,rcv1,rcd1,'sym4');subplot(221);image(wcodemat(X,192)),colormap(map);title('原始图像');subplot(222);image(codx),colormap(map);title('一层分解后各层系数图像');subplot(223);image(wcodemat(rx,192)),colormap(map);title('压缩图像');subplot(224);image(codrx),colormap(map);title('处理后各层系数图像');%求压缩信号的能量成分per=norm(rx)/norm(X)per=1.0000%求压缩信号与原信号的标准差err=norm(rx-X)二维小波分析用于图像是小波分析应用的一个重要方面。他的特点是压缩比高、压缩速度快、压缩后能保持图像的特征基本不变且在传递过程中可以抗干扰。利用二维小波分析进行图像压缩。2.二维小波分析的图像压缩,MATLAB代码设置如下:%装入图像loadtire%显示图像subplot(221);image(X);colormap(map)title('原始图像');axissquaredisp('压缩前图像X的大小:');whos('X')%对图像用bior3.7小波进行2层小波分解[c,s]=wavedec2(X,2,'bior3.7');%提取小波分解结构中第一层低频系数贺高频系数ca1=appcoef2(c,s,'bior3.7',1);ch1=detcoef2('h',c,s,1);cv1=detcoef2('v',c,s,1);cd1=detcoef2('d',c,s,1);%分别对各频成分进行重构a1=wrcoef2('a',c,s,'bior3.7',1);h1=wrcoef2('h',c,s,'bior3.7',1);v1=wrcoef2('v',c,s,'bior3.7',1);d1=wrcoef2('d',c,s,'bior3.7',1);c1=[a1,h1;v1,d1];%显示分解后各频率成分的信息subplot(222);image(c1);axissquaretitle('分解后低频和高频信息');%下面进行图像压缩处理%保留小波分解第一层低频信息,进行图像的压缩%第一层的低频信息即为ca1,显示第一层的低频信息%首先对第一层信息进项量化编码ca1=appcoef2(c,s,'bior3.7',1);ca1=wcodemat(ca1,440,'mat',0);%改变图像的高度ca1=0.5*ca1;subplot(223);image(ca1);colormap(map);axissquaretitle('第一次压缩');disp('第一次压缩图像的大小为:');whos('ca1')%保留小波分解第二层低频信息,进行图像的压缩,此时压缩比更大%保留第二层的低频信息即为ca2,显示第二层的低频信息ca2=appcoef2(c,s,'bior3.7',2);%首先对第二层信息进行量化编码ca2=wcodemat(ca2,440,'mat',0);%改变图像的高度ca2=0.25*ca2;subplot(224);image(ca2);colormap(map);axissquaretitle('第二次压缩');disp('第二次压缩图像的大小为:');whos('ca2')3.二维小波变换对图像进行压缩,MATLAB代码设置如下:%装入一个二维信号loadwbarb%显示图像subplot(221);image(X);colormap(map)title('原始图像');axissquare%下面进行图像压缩%对图像用db3小波进行2层小波分解[c,s]=wavedec2(X,2,'db3');[thr,sorh,keepapp]=ddencmp('cmp','wv',X);%输入参数中选择了全局阀值选项‘gb1’,用来对所有高频系数进行相同的阀值量化处理[Xcomp,cxc,lxc,perf0,perf12]=wdencmp('gbl',c,s,'db3',2,thr,sorh,keepapp);%将压缩后的图像与原始图像相比较,并显示出来subplot(222);image(Xcomp);colormap(map)title('压缩图像');axissquaredisp('小波分解系数中置0的系数个数百分比:');perf0disp('压缩后图像剩余能量百分比:');perf12由于阀值处理只关心系数的绝对值,并不关心系数的位置,所以二维小波变换系数阀值化方法同一维情况大同小异。例同时采用求默认阀值的ddencmp命令和基于经验公式的wdcbm2命令对图像进行压缩。4.图像压缩中的阀值的确定,MATLAB代码设置如下:loadtire%求得颜色映射表的长度,以便后面的转换nbc=size(map,1);%用默认方式求出图像的全局阀值[thr,sorh,keepapp]=ddencmp('cmp','wv',X);%对图像作用全局阀值[xd,cxd,lxd,perf0,perf12]=wdencmp('gbl',X,'bior3.5',3,thr,sorh,keepapp);%用bior.3.5小波对图像进行三层分解[c,s]=wavedec2(X,3,'bior3.5');%指定Birge-Massart策略中的经验系数alpha=1.5;m=2.7*prod(s(1,:));%根据各层小波系数确定分层阀值[thr1,nkeep1]=wdcbm2(c,s,alpha,m);%对原图像作用分层阀值[xdl,cxdl,sxdl,perf01,perf121]=wdencmp('lvd',c,s,'bior3.5',3,thrl,'s')%将颜色映射表转换为灰度映射表colormap(pink(nbc));subplot(131);image(wcodemat(X,nbc));title('原始图像');subplot(132);image(wcodemat(xd,nbc));title('全局阀值化压缩图像');xlabel(['能量成分',num2str(perf12),'%','零系数成分',num2str(perf0),'%']);subplot(133);image(wcodemat(xdl,nbc));title('分层阀值化压缩图像');xlabel(['能量成分',num2str(perf121),'%','零系数成分',num2str(perf01),'%']);第四章
本文标题:小波分析在图像处理中的作用
链接地址:https://www.777doc.com/doc-2474045 .html