目前市场上介绍图像小波包变换Matlab编程的书不多,但也有几本,但是他们不少都是将Matlab中相关的函数的帮助重新叙述而已。因为Matlab帮助中只是说明了分解结果放到一个树的数据结构中,提取查看还行,如何改变分解系数就不知道了。
我们知道,一般小波包分解后就是对小波包系数举行处理,将处理改变后的系数重构,从而得到最后的处理结果,因此,如何得到系数、将改变后的系数再写进树的结构中是关键。
下面介绍图像小波包分解后如何改变分解系数再重构:
p=imread('mwf1.bmp');
p1=double(p);
wp1=wpdec2(p1,2,'db2','shannon');
nd=leaves(wp1);
cpj=wpcoef(wp1,nd(j));
cpjn=cpj.*2;
wp1=write(wp1,'cfs',nd(j),cpjn);
p2=wprec2(wp1);
figure(1);
subplot(211);imagesc(p);colormap('gray');
subplot(212);imagesc(uint8(p2));colormap('gray');