前段时间,我们讨论了嵌入式小波零树算法的基本原理。(
http://blog.csdn.net/chenyusiyuan/archive/2007/11/16/1888968.aspx
)一个多星期过去了,我根据自己对算法的理解,编写出
EZW
算法的
Matlab
程序,可以实现图像的任意级别的小波分解和重构、以及任意精度的
EZW
编解码过程。下面,我们以一幅
16*16
的
Lena
局部图像经过
3
级小波分解后的小波数据为例详细的说明
EZW
算法的编解码过程,并给出相应的
Matlab
代码。原始图像如下
分解后的小波图像数据为:
一、在开始编码之前,首先要求出初始阈值
T1
:
MaxDecIm=max(max(abs(DecIm)));
T=zeros(1,codeDim);
T(1)=2^flor(log2(MaxDecIm));
二、然后是建立小波树结构,构建扫描次序表。这个扫描次序表非常重要,后面的编码、解码过程都要按照扫描次序表逐个处理数据矩阵的各个元素。构建过程如下:用(
r
,
c
)表示数据矩阵上各元素的位置。
row
、
col
作为全局变量,表示数据矩阵的行、列数。
1
、小波树结构的特点:
(
1
)对于
LL-N