王丰
摘要:本文通过介绍图像压缩的基本原理,并对小波包进行了分析,在此基础上重点论述了小波包在图像压缩中的应用,希望对大家以后在处理图像压缩方面有一定的帮助。
关键词:小波包;图像压缩;应用
一、图像压缩的基本原理
图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。
pg全名是JPEG。JPEG图片以 24 位颜色存储单个位图。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的。渐近式 JPEG 文件支持交错。
JPEG压缩可以很好地处理写实摄影作品。但是,对于颜色较少、对比级别强烈、实心边框或纯色区域大的较简单的作品,JPEG压缩无法提供理想的结果。有时,压缩比率会低到 5:1,严重损失了图片完整性。这一损失产生的原因是,JPEG压缩方案可以很好地压缩类似的色调,但是 JPEG 压缩方案不能很好地处理亮度的强烈差异或处理纯色区域。
二、小波包分析
短时傅立叶变换对信号的频带划分是线性等间隔的。多分辨分析可以对信号进行有效的时频分解,但由于其尺度是按二进制变化的,所以在高频频段其频率分辨率较差,而在低频频段其时间分辨率较差,即对信号的频带进行指数等间隔划分(具有等Q结构)。小波包分析能够为信号提供一种更精细的分析方法,它将频带进行多层次划分,对多分辨率分析没有细分的高频部分进一步分解,并能够根据被分析信号的特征,自适应地选择相应频带,使之与信号频谱相匹配,从而提高了时-频分辨率,因此小波包具有更广泛的应用价值。关于小波包分析的理解,这里以一个三层的分解进行说明,其小波包分解树如图1.
三、小波包在图像压缩中的具体应用
(一)小波包处理图像所用函数介绍
小波包处理图像用到的函数主要有wpdec2、wpbmpen、wpdencmp等,下面主要介绍一下wpdencmp函数的用法。函数wpdencmp的调用格式有以下两种:
格式(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进行去噪或压缩。
(二)小波包处理图像主程序介绍
从一般频谱角度分析小波变换的特点,小波变换将信号频谱按倍频分割,变换结果是原始信号在一系列倍频划分的频带上的多个高频子带数据。如图1所示HL2,HL1主要代表图像在三个层次上的水平高频信息,合称HL部分,代表水平边缘子图像;LH1,LH2,主要代表图像在三个层次上的垂直高频信息,合称LH部分,代表垂直边缘子图像;HH1,HH2主要代表图像在三个层次上对角线高频子图像。LL2代表图像中的低频信息。
在本程序中首先读取matlab安装包中自带的图片(路径为:D:\Install\Matlab\toolbox\images\imdemos\moon.tif),然后对图片进行零延拓,再将其转换为双精度信息。
分别用小波和小波包处理图像处理结果如下图3-2所示:
从图3可以看出,在选用sym4小波进行多尺度分解时,去噪效果还是比较理想的。其中小波软阈值降噪最为理想,总体来说用小波包进行降噪效果比小波较好。
四、小结
信息时代带来了“信息爆炸”,使数据量大增,因此,无论传输或存储都需要对数据进行有效的压缩。在遥感技术中,各种航天探测器采用压缩编码技术,将获取的巨大信息送回地面。图像压缩是数据压缩技术在数字图像上的应用,它的目的是减少图像数据中的冗余信息从而用更加高效的格式存储和传输数据。图像压缩的过程,主要涉及到小波变化,图像压缩的范围和领域。因此,掌握其在图像压缩中的应用非常重要。