PDA

查看完整版本 : [求助]用小波进行图像压缩时遇到问题,还望指教


barryyan2007
2009-02-12, 13:50
我是利用wdencmp函数对给定图像进行压缩处理,但是最后压缩出来的图像显示马赛克。不知道哪里有问题,程序如下:(第一个问题:我直接把D盘的JPG图片读进来,不知道能否直接用,还是要将它转换为RGB图像或是索引图像;第二个问题:会不会是其中一些变量的类型不一致所导致图像显示不出来,原图像是uint8型,难道所有参数要同时变为uint8型?)

load whale
whos;
subplot(1,2,1);
image(X);
colormap(map);
title('原始图像');
%用db3小波对图像X进行2层分解
[c,l]=wavedec2(X,2,'db3');
%全局阈值
[thr,sorh,keepapp]=ddencmp('cmp','wv',X);
%压缩处理:对所有高频系数进行同样的阈值量化处理
[Xcmp,cxc,lxc,perf0,perfl2]=wdencmp('gbl',c,l,'db3',2,thr,sorh,keepapp);


%将压缩后的图像与原始图像比较
subplot(1,2,2);
image(Xcmp);
colormap(map);
title('压缩后的图像');
%显示相关系数
disp('小波分解系数中为0的系数个数百分比');
perf0
disp('压缩后保留能量百分比');
perfl2

silas_xue
2009-03-18, 06:41
lz 请你在导入图像后讲格式换为unit8后再次进行调试

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。