基于小波变换的图像压缩

基于小波变换的图像压缩
是指对图像应用小波变换算法来进行多分辨率分解,通过对小波系数进行编码来实现图像压缩。

处理流程为

   1,对图像进行多级小波分解,得到相应的小波系数;

   2,对每层小波系数进行量化,得到量化系数对象;

   3,对量化后的系数对象进行编码,得到压缩结果。

基于小波变换的图像压缩_第1张图片

   图像矩阵是二维矩阵,假设图像矩阵大小为N*N,且n=2^n,那么经过一层小波变换后,原始图像便分解为4个分辨率为原来尺寸1/2的子带区域(LL,HL,LH,HH),分别包含了相应频带的小波系数。这一过程相当于在水平、垂直方向上进行隔点采样。下一步是进一步进行的2级小波分解。

LL频带保持了原始图像的内容信息,图像的能量集中于次频带。对于图像水平、垂直方向均进行低通滤波得到;

HL频带保持了图像水平方向上的高频边缘信息。对图像水平方向高通滤波和垂直方向低通滤波得到;

LH频带保持了图像垂直方向上的高频边缘信息。对图像水平方向低通滤波和垂直方向高通滤波得到;

HH频带保持了图像在对角线方向上的高频信息。对图像水平、垂直方向均进行高通滤波得到。

一个图像经过小波分解后,可以得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率也不同。高分辨率(即高频)子图像上大部分点的数值都接近于0,分辨率越高,这种现象越明显。要注意的是,在N级二维小波分解中,分解级别越高的子图像,频率越低。子图像HL2、LH2、HH2的频率要比子图像HL1、LH1、HH1的频率低,相应地分辨率也较低。根据不同分辨率下小波变换系数的这种层次模型,我们可以得到以下三种简单的图像压缩方案。

方案一:舍高频,取低频
一幅图像最主要的表现部分是低频部分,因此我们可以在小波重构时,只保留小波分解得到的低频部分,而高频部分系数作置0处理。这种方法得到的图像能量损失大,图像模糊,很少采用。
另外,也可以对高频部分的局部区域系数置0,这样重构的图像就会有局部模糊、其余清晰的效果。
方案二:阈值法
对图像进行多级小波分解后,保留低频系数不变,然后选取一个全局阈值来处理各级高频系数;或者不同级别的高频系数用不同的阈值处理。绝对值低于阈值的高频系数置0,否则保留。用保留的非零小波系数进行重构。Matlab中用函数ddencmp()可获取压缩过程中的默认阈值,用函数wdencmp()能对一维、二维信号进行小波压缩。
方案三:截取法
将小波分解得到的全部系数按照绝对值大小排序,只保留最大的x %的系数,剩余的系数置0。不过这种方法的压缩比并不一定高。因为对于保留的系数,其位置信息也要和系数值一起保存下来,才能重构图像。并且,和原图像的像素值相比,小波系数的变化范围更大,因而也需要更多的空间来保存。

以上内容是对所看到资料的总结
http://blog.sina.com.cn/s/blog_abd811ec0102yn9i.html
https://blog.csdn.net/chenyusiyuan/article/details/1881231

你可能感兴趣的:(图像处理,其他)