基于小波变换的图像解压缩

仿真结果如下

基于小波变换的图像解压缩_第1张图片

 基于小波变换的图像解压缩_第2张图片

 

部分核心程序如下:

clc;
clear all;
close all;
orimg=imread('lena.bmp');
imshow(orimg); 
title('原始图象'); 
orimage=double(orimg);
tImg=wavelet('2D D5',1,orimage,'sym');
tImage=uint8(tImg);
figure; 
imshow(tImage);
Img=zeros(512,512);
Img(1:256,1:256)=tImg(1:256,1:256);
[Image,sc,dmatrix]=double2uint(Img);
x=select(Image);
code=RLC(x);

%%%%%%%%%%%%%%%%%%%解码部分%%%%%%%%%%%%%%%%%%
Image=dec(code);
Image_r=uint2double(Image,sc,dmatrix);
IImg=wavelet('2D D5',-1,Image_r,'sym');
IImg=uint8(IImg);
figure;imshow(IImg);
title('恢复图象'); 
diff=orimg-IImg;
figure;imshow(diff);
e=sum(sum(diff))/(sum(sum(orimg)));

total_infor=512*512;
[code_r,code_c]=size(code);pp=(512*512)/code_c;
disp(['压缩前的图像信息大小为:',int2str(total_infor)]);
disp(['压缩后的图像信息大小为:',int2str(code_c)]);
disp(['压缩率为:',num2str(pp),':1']);
disp(['压缩误差为:',num2str(e)]);

D194

你可能感兴趣的:(MATLAB,板块15:小波变换,板块6:图像跟踪识别,图像处理,小波变换,图像解压缩)