作者:qiqianan | 来源:互联网 | 2023-05-26 14:06
基于小波变换的图像压缩是指对图像应用小波变换算法来进行多分辨率分解,通过对小波系数进行编码来实现图像压缩。处理流程为1,对图像进行多级小波分解,得到相应的小波系数;2,对每层小波系
基于小波变换的图像压缩
是指对图像应用小波变换算法来进行多分辨率分解,通过对小波系数进行编码来实现图像压缩。
处理流程为
1,对图像进行多级小波分解,得到相应的小波系数;
2,对每层小波系数进行量化,得到量化系数对象;
3,对量化后的系数对象进行编码,得到压缩结果。
图像矩阵是二维矩阵,假设图像矩阵大小为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