基于MATLAB的小波分析方法与图象编码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第25卷 增刊河北理工学院学报Vol125 Supplement 2003年8月Journal of Hebei Institute of Technology Aug.2003
文章编号:100722829(2003)s020092206
基于MA TLAB的小波分析方法与图象编码
王丽晖1,李树怀2,吴亚峰2
(11河北唐山职业技术学院计算机中心,河北唐山063004;21河北理工学院自动化系,河北唐山063009)关键词:MA TLAB;图象编码;小波分析;分解;重构;阈值
摘 要:主要介绍了用基于MA TLAB的小波分析方法进行图象编码
的原理,并对小波分解和重构及图象压缩和解压缩的必然关系进行了
详细阐述。同时给出了较为具体的小波分解与重构实验设计报告。实
验表明:对图象数据进行小波分解与重构,实际取得了图象压缩与压缩
的效果。
中图分类号:TP391141 文献标识码:A
0 引 言
MA TLAB是目前国际上最流行的科学与工程计算的软件工具,有人称它为“第四代”计算机语言。MA TLAB又被誉为“巨人肩上的工具”,包含有各领域专家推出的工具箱,可求解各类学科的问题,如信号处理、图象处理、小波、通信、神经网络、控制系统辨识等。从而“将使用者从繁琐、无谓的底层编程中解放出来。”
笔者使用了MA TLAB中的小波工具箱后发现,用基于MA TLAB的小波分析方法的确能够更有效、更简单、更迅速地进行图象编码,达到图象压缩和解压缩的目的。其实, J PEG2000、GIF、PN G等大家熟知的图象编码压缩技术标准也都采用了小波图像分析编码方法,职EZW、SPIHT和EBCO T编码等。
1 图象编码小小分析原理
小波是定义在有限间隔且平均值为零的一类函数,具有突变的频率和振幅。小波分析方法是一种时频局部分分析方法,即在低频部分具有较高的频蟀分辨率和较低的时间分辩率,在高频部分具有较低的频率分辨率和较高的时间分辨率。一幅图象作小波分解后,可得到一系列不同分辨率的子图象,对应着不同的频率。高分辨率(即高频)子图象上大部分点的数值都接近于零,而图象的主要部分在低频。也就是说,高频成分对应原始图象的细节部分,低频成分对应原始图象的粗糙部分。所发,选择合适的小波,选取合适的阈值,利用小波分解的方法可以去掉图象的高频部分,保留低频部分,达到对图象压缩
收稿日期:2003206208
作者简介:王丽晖(19722),女,河北唐山人,河北唐山职业技术学院计算机中心讲师,学士。
的目的,并且具有较高的压缩比和较低的失真(小的信噪比)。
小波分解可以被表示成由低通滤波器和高通滤波器组成的一棵树。原始信号通过这样的一对滤波器进行的分解叫做一级分解。信号的分解过程可以叠代,也就是说可进行多级分解。
如果对信号的高频分量不再分解,而对低频分量连续进行分解,就得到许多分辨率较低的低频分量,形成如图1所示的一棵比较大的树。这种树叫做小波分解树(wavelet decomposition tree )。分解级数的多少取决于要被分析的数据和用户的需要。
使用多级小波分解可以得到更多的分辨率不同的图像,这些图像叫做多分辨率图像(multiresolution images )。多分辨率图像s 经过第一次分解后,得到粗糙图像CA I 和细节图象CD1,其中CA I 的分辨率是原始图像的1/4;抛弃图象细节CD1,粗糙图像CA1二次分解后,得到粗糙图像CA2和细节图象CD2,粗糙图像CA2的分辨率又是粗糙图像CA1的1/4。以此类推,三级分解后得到的粗糙图像CA3的分辨率又是糙糙图CA2的1/4。
小波重构(wavelet reconstruction )是指把分解得到的系数还原成原始信号的过程,也叫做合成(synthesis ),数学上叫做逆小波变换(inverse discrete wavelet transform.IDWT )。小波重构过程与分解过程相反。
图1 小波分解树
39 增刊 王丽晖,等:基于MA TLAB 的小波分析方法与图象编码
49河 北 理 工 学 院 学 报 第25卷
2 小波图象分解与合成设计
为了快速解析小波分析在图象编码中的应用,笔者使用MA TLAB软件进行编程,选择haar小波和db9小波,对用png文件格式存储的三维真彩图象L ENA(图形学界的标准测试图片)进行变换(分解及重构),图像的分辨率为256×256,像素数目为65536,一幅图像分解成一幅低分辨率图像和分辨率由低到高的表示图像细节的许多子图像,使用子图像又可以生成许多分辨率不同的图像。按照用户对图像分辨率的要求,可以进行多次编码。(图像重构的过程与分解的过程相反)由于采用了真彩色图像,有R、G、B三个分量,分解及重构过程都要分别进行。
我们已经知道,一幅图像可看成是由许多像素组成的一个矩阵,在进行图像压缩时,为降低对存储器的要求,人们通常把它分成许多小块,例如以8×8个像素为一块,并用用矩阵表示,然后分别对每一个图像块进行处理。在小波变换中,由于小波这换中使用的基函数的长度是可变的,因此无须像J PEG标准算法那样,为避免产生“块效应”而把输入图像进行分块
211 小波分析软件工具及测试图像
软件工具:MA TLAB611R12版本,其他多媒体工具如PHO TOSHOP
测试图像:Lena的彩色照片,(图形学界的标准测试图片)分辨率为256×256,PN G 格式。
212 三级haar(db1)小波图像分解与重构过程演示
(1)主要程序模块
分解过程子程序:function c=decompose(A,,rc)
重构过程子程序:function C=restruct(A)
二维haar小波非标准分解子程序:function a=haardwt2(x,rc)
二维haar小波重构子程序:function a=haaridwt2(x)
二维haar小波规范化重构子程序:function y=haardwt(x,h)
(2)主要模块源程序清单
function C=decompose(A,rc) for col=1∶s
%功能:分解真彩图象 [ca0,cdo]=
%c:分解变换后的图象数据 dwt(a(∶col)’,’haar’);
Ar=A(∶,∶,1) a0=[ca0,cd0];
Ag=A(∶,∶,2) a(∶co1)=a0’;
Ab=A(∶,∶,3) end
Cr=haardwt2(Ar,rc) end
Cg=haardwt2(Ag) function a=idwt2haar(x)
Cb=haardwt2(Ab) %二维非标准规范化haar小波图
C(∶,∶1)=Cr∶ 像重构
C(∶,∶,2)=Cg; %x:输入二维图象信号
C(∶,∶,3)=Cb %a:重构二维图像信号