4.2.2 参数设置
对图像压缩,本次毕业设计考虑对数字图像进行7层小波分解,并提取小波分解结构中的一层的低频系数和高频系数。
(1)、调用二文小波分析函数,分别从水平方向、斜线方向、垂直方向提取二文小波分解高频系数,重构第一层系数;
(2)、调用二文小波单支重构函数,显示第一层频率信息;
(3)、对图像进行压缩:保留第一层低频信息并对其进行量化编码;
(4)、量化编码函数,同时改变图像高度并显示。
部分程序代码如下所示:
[c,l]=wavedec2(X,2,'bior3.7');//用boir3.7小波进行2层小波分解
//提取小波分解结构中第一层低频系数和高频系数
cA1=appcoef2(c,l,'bior3.7',1); cH1=detcoef2('h',c,l,1);
cD1=detcoef2('d',c,l,1);
cV1=detcoef2('v',c,l,1);
//对个频率成分进行重构
A1=wrcoef2('a',c,l,'bior3.7',1);
H1=wrcoef2('h',c,l,'bior3.7',1);
D1=wrcoef2('d',c,l,'bior3.7',1);
V1=wrcoef2('v',c,l,'bior3.7',1);
c1=[A1 H1;V1 D1];
subplot(2,2,2);
image(c1);
ca1=wcodemat(cA1,440,'mat',0);
ca1=0.5*ca1; //改变图像的高度
subplot(2,2,3);
image(ca1);
colormap(map);
完整运行程序见附录2。
通过Matlab应用程序仿真显示,压缩前图像的大小:
Name Size Bytes Class
X 256x256 524288 double array
Grand total is 65536 elements using 524288 bytes
第一次压缩后图像的大小:
Name Size Bytes Class
ca1 135x135 145800 double array
Grand total is 18225 elements using 145800 bytes
第二次压缩后图像大小:
Name Size Bytes Class
ca2 75x75 45000 double array