您现在的位置:首页 >> 图像处理 >> 内容

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

时间:2022/12/13 17:40:35 点击:

  核心提示:A116,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZZWUk55y

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览





3.算法概述

        小波变换(wavelet transform,WT)是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。

4.部分源码

clc;

clear;

close all;

warning off;

addpath(genpath(pwd));

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)]);

A116

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168