www.gusucode.com > 自己编写的一个基于matlab的图像压缩程序,有GUI界面,不能程度的压缩效果以及信噪比 > 自己编写的一个基于matlab的图像压缩程序,有GUI界面,不能程度的压缩效果以及信噪比/BP神经网络的图像压缩/wavelets压缩/main.m
clc; clear all; close all; orimg=imread('lena.bmp'); imshow(orimg); title('原始图象'); orimage=double(orimg); tImg=wavelet('2D D5',3,orimage,'sym'); tImage=uint8(tImg); figure; imshow(tImage);title('压缩后图') 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',-3,Image_r,'sym'); IImg=uint8(IImg); figure;imshow(IImg); title('恢复图象'); diff=orimg-IImg;%误差 figure;imshow(diff);title('两图相减后误差') 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*code_r)]); disp(['压缩率为:',num2str(pp),':1']); disp(['压缩误差为:',num2str(e)]);