基于小波包的图像压缩及matlab实现Word格式.doc
- 文档编号:6998597
- 上传时间:2023-05-07
- 格式:DOC
- 页数:11
- 大小:581KB
基于小波包的图像压缩及matlab实现Word格式.doc
《基于小波包的图像压缩及matlab实现Word格式.doc》由会员分享,可在线阅读,更多相关《基于小波包的图像压缩及matlab实现Word格式.doc(11页珍藏版)》请在冰点文库上搜索。
当今,我们正处在一个高速发展的信息时代,而信息的本质就是要求进行存储、交流和传输。
信息有多种形式,包括文字、声音、静止图像、视频图像等等。
在众多的信息形式中,图像信息最具有直观性和生动性,从而成为人们需求的主要信息形式。
然而由于图像信息的数据量太大,作数字传输时占有的信道频带有非常宽的问题,直接制约着图像信息的存储和传输。
因此,为了有效地利用现代通讯业务和信息处理中的宝贵资源,需要对大量的数据信息,尤其是图像信息进行压缩,因此图像数据压缩技术和解压缩技术成了多媒体技术的关键技术之一。
近年来,由于“海量”多媒体信息的出现,经典图像压缩算法已不能满足实际应用的需要,迫切需要有更高压缩效率和适用于各种需要的新压缩算法。
经典压缩算法一般是在时域或者频域进行分析和操作,因而经典图像压缩算法只是利用了图像的部分特征,研究人员希望同时利用两个域的特征,兼容时域和频域分析的优越性。
另外经典压缩算法一般使用的DCT和傅立叶变换是用余弦曲线和正弦曲线作为它们的正交函数基,但这些函数都不是紧支集。
而我们在实际应用中处理的大部分是瞬态信号。
特别地,在图像处理中许多重要特征也是空间位置高度局部化的,如果使用一般的变换,这些瞬态和局部化成分的信息就很难得到最佳表示。
实际上,DCT和傅立叶变换能用余弦和正弦函数表示任何分析函数,甚至是一个瞬态信号,但这种表示在函数频谱上会呈现相当混乱的构成。
为了克服这种缺陷,研究人员已经发现若干种使用优先宽度的基函数,我们称之为小波。
使用这些基函数的变换被称之为小波变换。
利用小波变换对图像进行压缩是当前一个研究热点。
小波包分析是近些年在小波分析的基础上发展起来的,将图像在小波包最优基下展开,利用小波包最优基极好的空间、尺度定位性,使得图像的小波包变换系数在小波变换域尽可能的集中,从而使在不降低压缩图像的质量情况下,进一步地提高图像压缩比成为可能。
2.小波包分析
短时傅立叶变换对信号的频带划分是线性等间隔的。
多分辨分析可以对信号进行有效的时频分解,但由于其尺度是按二进制变化的,所以在高频频段其频率分辨率较差,而在低频频段其时间分辨率较差,即对信号的频带进行指数等间隔划分(具有等Q结构)。
小波包分析能够为信号提供一种更精细的分析方法,它将频带进行多层次划分,对多分辨率分析没有细分的高频部分进一步分解,并能够根据被分析信号的特征,自适应地选择相应频带,使之与信号频谱相匹配,从而提高了时-频分辨率,因此小波包具有更广泛的应用价值。
关于小波包分析的理解,这里以一个三层的分解进行说明,其小波包分解树如图2.1。
图2-1小波包分解树
图2-1中,A表示低频,D表示高频,末尾的序号数表示小波分解的层树(也即尺度数)。
分解具有关系:
S=AAA3+DAA3+ADA3+DDA3+AAD3+DAD3+ADD3+DDD3。
2.1小波包的定义
在多分辨分析中,,表明多分辨分析是按照不同的尺度因子j把Hilbert空间分解为所有子空间的正交和的。
其中,为小波函数的闭包(小波子空间)。
现在,对小波子空间按照二进制分式进行频率的细分,以达到提高频率分辨率的目的。
一种自然的做法是将尺度空间和小波子空间用一个新的子空间统一起来表征,若令
则Hilbert空间的正交分解即可用的分解统一为
(2.22)
定义子空间是函数是函数的闭包空间,而是函数的闭包空间,并令满足下面的双尺度方程:
(2.23)
式中,,即两系数也具有正交关系。
当n=0时,以上两式直接给出
(2.24)
与在多分辨分析中,满足双尺度方程:
(2.25)
相比较,和分别退化为尺度函数和小波基函数。
式(2.24)是式(2.22)的等价表示。
把这种等价表示推广到(非负整数)的情况,即得到(2.23)的等价表示为
;
(2.26)
定义(小波包)由式(2.23)构造的序列(其中)称为由基函数=确定的正交小波包。
当n=0时,即为(2.24)式的情况。
由于由唯一确定,所以又称为关于序列的正交小波包。
2.2小波包的性质
定理1设非负整数n的二进制表示为,=0或1。
则小波包的傅立叶变换由下式给出:
(2.27)
式中
定理2设是正交尺度函数的正交小波包,则,即构成的规范正交基。
2.3小波包的空间分解
令是关于的小波包族,考虑用下列方式生成子空间族。
现在令n=1,2,…;
j=1,2,…,并对(2.22)式作迭代分解,则有
因此,我们很容易得到小波子空间的各种分解如下:
…
空间分解的子空间序列可写作,m=0,1,…,-1;
l=1,2,…。
子空间序列的标准正交基为。
容易看出,当l=0和m=0时,子空间序列简化为=,相应的正交基简化为,它恰好是标准正交小波族。
若n是一个倍频程细划的参数,即令n=+m,则我们有小波包的简略记号,其中,。
我们把称为既有尺度指标j、位置指标k和频率指标n的小波包。
将它与前面的小波作一比较知,小波只有离散尺度j和离散平移k两个参数,而小波包除了这两个离散参数外,还增加了一个频率参数n=+m。
正是这个频率新参数的作用,使得小波包克服了小波时间分辨率高时频率分辨率低的缺陷,于是,参数n表示函数的零交叉数目,也就是其波形的震荡次数。
定义(小波库)由生成的函数族(其中;
j,)称为由尺度函数构造的小波库。
推论1.1对于每个j=0,1,2,…
=……(2.28)
这时,族{|j=…,-1,0;
n=2,3,…且}(2.29)
是的一个正交基。
随着尺度j的增大,相应正交小波基函数的空间分辨率越高,而其频率分辨率越低,这正是正交小波基的一大缺陷。
而小波包却具有将随j增大而变宽的频谱窗口进一步分割变细的优良性质,从而克服了正交小波变换的不足。
小波包可以对进一步分解,从而提高频率分辨率,是一种比多分辨分析更加精细的分解方法,具有更好的时频特性。
2.4小波包算法
下面给出小波包的分解算法和重构算法。
设,则可表示为
(2.30)
小波包分解算法:
由求与
(2.31)
小波包重构算法:
由{}与求Error!
Nobookmarknamegiven.
3.小波包分析在图像处理中的实际应用
小波分析之所以在信号处理中有着强大的功能,是基于其分离信息的思想,分离到各个小波域的信息除了与其他小波域的关联,使得处理的时候更为灵活。
全局阈值化方法作用的信息密度太大,不够精细,所以很难同时获得高的压缩比和能量保留成分,在作用的分层阈值以后,性能明显提高,因为分层阈值更能体现信号固有的时频局部特性。
但是小波分解仍然不够灵活,分解出来的小波树只有一种模式,不能完全地体现时频局部化信息。
而压缩的核心思想既是尽可能去除各小波域系数之间的信息关联,最大限度体现时频局部化的信息,因此,实际的压缩算法多采用小波包算法,而小波树的确定则是根据不同的信息论准则,以达到分解系数表达的信息密度最高。
3.1小波包处理图像所用函数介绍
小波包处理图像用到的函数主要有wpdec2、wpbmpen、wpdencmp等,下面主要介绍一下wpdencmp函数的用法。
函数wpdencmp的调用格式有以下两种:
[XD,TREED,PERF0,PERFL2]=wpdencmp(X,SORH,N,'
wname'
CRIT,PAR,KEEPAPP)
(1)
[XD,TREED,PERF0,PERFL2]=wpdencmp(TREE,SORH,CRIT,PAR,KEEPAPP)
(2)
格式
(1)返回输入信号X(一维或二维)的去噪或压缩后的信号XD。
输出参数TREED是XD的最佳小波包分解树;
PERFL2和PERF0是恢复和压缩L2的能量百分比。
PERFL2=100*(X的小波包系数范数/X的小波包系数)^2;
如果X是一维信号,小波wname是一个正交小波,则PERFL2=100*||XD||^2/||X||^2。
SORH的取值为'
s'
或'
h'
,表示的是软阈值或硬阈值。
输入参数N是小波包的分解层数,wname是包含小波名的字符串。
函数使用由字符串CRIT定义的熵和阈值参数PAR实现最佳分解。
如果KEEPAPP=1,则近似信号的小波系数不进行阈值量化;
否则,进行阈值量化。
格式
(2)与格式
(1)的输出参数相同,输入选项也相同,只是它从信号的小波包分解树TREE进行去噪或压缩。
3.2小波包处理图像主程序介绍
下面是运用小波包进行图像处理的程序实例:
I1=imread('
D:
\Install\Matlab\toolbox\images\imdemos\moon.tif'
);
L=4;
I=wextend('
2D'
'
zpd'
I1,L);
nbc=size(I,1);
X=im2double(I);
%产生噪声图像
init=2055415866;
randn('
seed'
init);
x=X+randn(size(X))/10;
wname='
sym4'
;
lev=3;
[c,l]=wavedec2(x,lev,wname);
sigma_s=0.048535;
%图像降噪时,使用wbmpen函数选择阈值
alpha=2;
thr_s=wbmpen(c,l,sigma_s,alpha);
%使用软阈值和保存的低频信号,进行图像降噪
keepapp=1;
xds1=wdencmp('
gbl'
x,wname,lev,thr_s,'
keepapp);
sigma_h=0.045663;
thr_h=wbmpen(c,l,sigma_h,alpha);
%使用硬阈值和保存的低频信号,进行图像降噪
xdh1=wdencmp('
x,wname,lev,thr_h,'
%colormap(pink(nbc));
subplot(231);
imshow(I,nbc);
title('
原始图像'
subplot(234);
imshow(x);
加噪图像'
subplot(232);
imshow(xds1);
小波软阈值降噪图像'
subplot(235);
imshow(xdh1);
小波硬阈值降噪图像'
tree=wpdec2(x,lev,wname);
det1=[wpcoef(tree,2)wpcoef(tree,3)wpcoef(tree,4)];
sigma=median(abs(det1(:
)))/0.6745;
thr=wpbmpen(tree,sigma,alpha);
xds2=wpdencmp(tree,'
nobest'
thr,keepapp);
xdh2=wpdencmp(tree,'
colormap(pink(nbc));
subplot(233);
imshow(xds2);
小波包软阈值降噪图像'
subplot(236);
imshow(xdh2);
小波包硬阈值降噪图像'
在本程序中首先读取matlab安装包中自带的图片(路径为:
\Install\Matlab\toolbox\images\imdemos\moon.tif),然后对图片进行零延拓,再将其转换为双精度信息。
程序框图图3-1所示:
加入噪声信号
转换为
双精度
零延拓
读取图片
小波软
阈值分解
选取
标准差1
画出图像
小波分解
小波
包分解
阈值
小波包软阈值分解
图3-1程序框图
分别用小波和小波包处理图像处理结果如下图3-2所示:
图3-2小波和小波包处理图像结果
从图3-2可以看出,在选用sym4小波进行多尺度分解时,去噪效果还是比较理想的。
其中小波软阈值降噪最为理想,总体来说用小波包进行降噪效果比小波较好。
4.总结
本文主要结合小波包变换的基本概念和基本原理,详细讨论小波包在图像处理领域的应用,并结合MATLAB程序设计语言来说明其应用。
在程序设计中,本文通过小波降噪与小波包降噪两种方法的比较,试着来解释小波与小波包图像去噪的区别。
小波分析的思想是用一族函数去表示或逼近一信号或函数,这一族函数称为小波函数系。
它是通过满足一定条件的基本小波函数的不同尺度的平移和伸缩构成的。
用小波函数系表示的特点是它的时宽与频宽的乘积很小,且在时间和频率轴上都很集中。
因此,其时-频分辨率在低频处频率分辨率高,在高频处时间分辨率高,频率分辨率却降低。
这是正交小波基的一大缺陷。
而小波包却具有随分辨率的增加,变宽的频谱窗口进一步分割变细的优良品质,因而它能对小波分析没有细分的高频部分进行进一步分解,并能够根据被分析信号的特征,自适应地选择相应的频带,使之与信号频谱相匹配,从而提高时频分辨率,它是一种比小波分析更精细的分析方法。
从图像可以看出,无论采用小波还是小波包,软阈值的去噪效果都要好于硬阈值去噪,这主要是因为软阈值法具有连续性,从而使去噪后的图像相对平滑,但就保留细节而言,硬阈值法要好于软阈值法,这充分体现了软阈值法和硬阈值法各自的特点。
另一方面,从图像还可以看出,小波包去噪方法的去噪效果要明显好于小波去噪方法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 波包 图像 压缩 matlab 实现