由于小波变换的减抽样性质,经若干次小波分解后。平滑图像系数和所有的细节图像系数个数之和等于原始图像系数个数,因此总数据量未变,即小波变换本身并没有压缩功能,但因为经过小波变换的
万方数据
173
科技信息
。高校讲台o
SCmNCE&TECHNOLOGY矾F0贴谯TION2007年第24期
图像具有与原始图像不同的特性,由此可将它用于图像压缩。小波变换后的图像能量主要集中于低频的亮度分量部分,而水平、垂直和对角线部分的能量则较少,只是体现了原始图像在这三个方向的边缘信息。
对所得的四个子图。根据人的视觉要求和心理特点分别作不同策略的量化和编码处理。人眼对亮度图像部分的信息特别敏感,对这一部分的压缩应尽可能减少失真或者无失真.如采取余弦变换,并结合
%
>>ca2=appeoef2(c,s,“or3.7j2);%保留小波分解第2层低频信息.进行图像压缩
>>ca2=wcodemat(ca2,440,,mt’'o);%对第2层低频信息进行
量化编码
>>ca2:o.25+ca2:
Hu‰蛐编码进行压缩:对细节图像可以采用压缩比较高的编码方
案。采取去掉高频成分。阌值量化和均匀量化等等。最筒单的压缩是去掉全部细节信息。只保留平滑信息,不需要经过其他处理即可获得良好的压缩效果。理论上可以获得任意压缩比的压缩图像,可见,小波变换用于图像压缩具有明显的优点。
下面的实例是基于二维小波分析对图像进行压缩。一个图像作小波分解后.可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的。高分辨率(即高频)子图像上大部分点都接近于O,越是高频这种现象越明显。对一个图像来说,表现一个图像最主要的部分是低频部分,所以一个最简单的压缩方法是利用小波分解,去掉图像的高频部分而只保留低频部分。图像压缩可按如下Matlab程序进行处理。
>>X=imread(‘noweLtif’);>>蚰ve
nower.H18t:
>>subplot(2,2,4);im89e(ca2);块显示第二次压缩图像
>>“i8squa坪;
%将图像窗口分为四块,第四
%横轴和纵轴的比例为l:1
%给第四幅图像加标题>>tine(’第二次压缩图像,);
>>disp(7第二次压缩图像的大小:,;%显示文字信息>>whos(,ca2’;%显示第二次压缩图像的大小可以看出.第一次压缩我们是提取原始图像中小波分解第一层的低频信息,此时压缩效果较好,压缩比较小(约为l,3);第二次压缩是提取第一层分解低频部分的低频部分(即小波分解第二层的低频部分),其压缩比比较大fl,12),压缩效果在视觉上也基本过得去,它不需要经过其他处理即可获得较好的压缩效果。
在工作窗口(命令窗口)得到以下结果:原始图像X的大小:
%将图像读入madab
N锄e
X
Size258x350
is
Byt∞Cl∞s90300
using
%保存.眦t文件
%显示图像%载人图像
uint8觚ay
>>imshow(X);
G眦ldtotal90300elements
90300bytes
>>cIe筑
>>Ioadnower:
第一次压缩图像的大小:
N∞e
cal
Si∞136x182
B”esCl鹊s198016
double
an.ay
>>¨bplot(2,2,1);image(X);%将图像窗口分为四块,第一块显示原始图像
>>title(’原始图像1;%给第一幅图像加标题
>>disp(’原始图像X的大小:m%显示文字信息>>whos(‘X’);%显示原始图像的大小>>axi8square;%横轴和纵轴的比例为1:1
%
G哪d
NⅢe
ca2
tot嗣i824752elementsusing198016byte8
第二次压缩图像的大小:
Si∞BytesCl粕875x98total
i8
58800double
using
a珊y
Gmd
7350elements
58800bvtes
图3为原始图像、分解图像和Matlab环境下小波压缩后的图像。
>>[c,8】=wavedec2()(,2,,bior3.7’;%将图像进行多尺度二维小波分解.小波基为bior3.7
>>e81=appcoe也(c,8,,bi∞3.7j1);%提取二维小波分解低频系数
>>chl=detcoef2(1ljc's,1).数水平分量
>>cvl=detcoe位(,v二c,s,1);垂直分量一
%提取二维小波分解高频系%提取二维小波分解高频系数
%提取二维小波分解高频系>>cdl=de【c∞f2(,djc,8,1);
数对角分量
>>al=wrcoe岔(,a,'c一,,bior3.7,’1);%对二维小波低频系数进行单支重构
>>hl=wrcoeQ(1Ijo,s,飞ior3.7,.1);%对二维小波高频系数水平分量进行单支重构
>>v1=wrcoef2(,v’,e,8,,bior3.7j1);%对二维小波高频系数垂直
‘
分量进行单支重构
>>d1=wrcoef2(,d,'c,8,,bior3.7j1);%对二维小波高频系数对角分量进行单支重构
>>cl=【al,h1;vl,dl】;>>Ⅻbplot(2,2,2);image(c1);块显示分解图像
>>“i8squaIe;
%显示分解后图像矩阵
%将图像窗口分为四块,第二%横轴和纵轴的比例为l:l
%给第二幅图像加标题
图3原始图像、分解图像和MatIab环境下小波压缩后的图像5.结论
’
利用Matlab程序中的小波包进行图像压缩时,随着所选用的分解小波、分解层次和量化阚值的不同所得的结果不同,且实现起来也较为简单。
图像压缩是一个很有发展前途的研究领域。将小波分析引入图像压缩的研究范畴。当一个图像作小波分解后.可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的。而且小波分析能使压缩比高、压缩速度快,压缩后能保持信号与图像的特征基