基于MATLAB小波变换的的图像压缩
基于MATLAB小波变换的的图像压缩
摘要:小波包分析理论作为新的时频分析工具,在信号分析和处理中得到了很好的应用,它在信号处理、模式识别、图像分析、数据压缩、语音识别与合成等等许多方面都取得了很有意义的研究成果。平面图像可以看成是二维信号,因此,小波包分析很自然地应用到了图像处理领域,如在图像的压缩编码、图像消噪、图像增强以及图像融合等方面都很好的应用。本文将对小波包分析在图像处理中的应用作以简单介绍。
关键词:小波包 图像处理 消噪
1.小波包基本理论
1.1 小波包用于图像消噪
图像在采集、传输等过程中,经常受到一些外部环境的影响,从而产生噪声使得图像发生降质,图像消噪的目的就是从所得到的降质图像中去除噪声还原原始图像。图像降噪是图像预处理中一项应用比较广泛的技术,其作用是为了提高图像的信噪比突出图像的期望特征。图像降噪方法有时域和频域两种方法。频率域方法主要是根据图像像素噪声频率范围,选取适当的频域带通过滤波器进行滤波处理,比如采用Fourier变换(快速算法FFT)分析或小波变换(快速算法Mallat算法)分析。空间域方法主要采用各种平滑函数对图像进行卷积处理,以达到去除噪声的目的,如邻域平均、中值(Median)滤波等都属于这一类方法。还有建立在统计基础上的lee滤波、Kuan滤波等。但是归根到底都是利用噪声和信号在频域上分布不同进行的:信号主要分布在低频区域。而噪声主要分布在高频区域,但同时图像的细节也分布在高频区域。所以,图像降噪的一个两难问题就是如何在降低图像噪声和保留图像细节上保持平衡,传统的低通滤波方法将图像的高频部分滤除,虽然能够达到降低噪声的效果,但破坏了图像细节。如何构造一种既能够降低图像噪声,又能保持图像细节的降噪方法成为此项研究的主题。在小波变换这种有力工具出现之后,这一目标已经成为可能。
基于小波包变换消噪方法的主要思想就是利用小波分析的多尺度特性,首先对含有噪声的图像进行小波变换,然后对得到的小波系数进行阈值化处理,得到新的小波系数,对其进行反变换,这样我们就得到了消噪之后的图像,从而实现了对图像的恢复。目前,已经发展了许多小波变换与传统图像消噪方法相结合的新的图像消噪算法,它们吸收二者的优点,从而提高了图像的消噪效果,得到了较好的应用。
1.2. 小波包用于图像压缩
当今,我们正处在一个高速发展的信息时代,而信息的本质就是要求进行存储、交流和传输。信息有多种形式,包括文字、声音、静止图像、视频图像等等。在众多的信息形式中,图像信息最具有直观性和生动性,从而成为人们需求的主要信息形式。然而由于图像信息的数据量太大,作数字传输时占有的信道频带有非常宽的问题,直接制约着图像信息的存储和传输。因此,为了有效地利用现代通讯业务和信息处理中的宝贵资源,需要对大量的数据信息,尤其是图像信息进行压缩,因此图像数据压缩技术和解压缩技术成了多媒体技术的关键技术之一。
近年来,由于“海量”多媒体信息的出现,经典图像压缩算法已不能满足实际应用的需要,迫切需要有更高压缩效率和适用于各种需要的新压缩算法。经典压缩算法一般是在时域或者频域进行分析和操作,因而经典图像压缩算法只是利用了图像的部分特征,研究人员希望同时利用两个域的特征,兼容时域和频域分析的优越性。另外经典压缩算法一般使用的DCT和傅立叶变换是用余弦曲线和正弦曲线作为它们的正交函数基,但这些函数都不是紧支集。而我们在实际应用中处理的大部分是瞬态信号。特别地,在图像处理中许多重要特征也是空间位置高度局部化的,如果使用一般的变换,这些瞬态和局部化成分的信息就很难得到最佳表示。实际上,DCT和傅立叶变换能用余弦和正弦函数表示任何分析函数,甚至是一个瞬态信号,但这种表示在函数频谱上会呈现相当混乱的构成。
为了克服这种缺陷,研究人员已经发现若干种使用优先宽度的基函数,我们称之为小波。使用这些基函数的变换被称之为小波变换。利用小波变换对图像进行压缩是当前一个研究热点。小波包分析是近些年在小波分析的基础上发展起来的,将图像在小波包最优基下展开,利用小波包最优基极好的空间、尺度定位性,使得图像的小波包变换系数在小波变换域尽可能的集中,从而使在不降低压缩图像的质量情况下,进一步地提高图像压缩比成为可能。
2.小波包分析
短时傅立叶变换对信号的频带划分是线性等间隔的。多分辨分析可以对信号进行有效的时频分解,但由于其尺度是按二进制变化的,所以在高频频段其频率分辨率较差,而在低频频段其时间分辨率较差,即对信号的频带进行指数等间隔划分(具有等Q结构)。小波包分析能够为信号提供一种更精细的分析方法,它将频带进行多层次划分,对多分辨率分析没有细分的高频部分进一步分解,并能够根据被分析信号的特征,自适应地选择相应频带,使之与信号频谱相匹配,从而提高了时-频分辨率,因此小波包具有更广泛的应用价值。关于小波包分析的理解,这里以一个三层的分解进行说明,其小波包分解树如图2.1。
图2-1 小波包分解树
图2-1中,A表示低频,D表示高频,末尾的序号数表示小波分解的层树(也即尺度数)。分解具有关系:S=AAA3+DAA3+ADA3+DDA3+AAD3+DAD3+ADD3+DDD3。
2.1 小波包的定义
在多分辨分析中, ,表明多分辨分析是按照不同的尺度因子j把Hilbert空间分解为所有子空间的正交和的。其中, 为小波函数的闭包(小波子空间)。现在,对小波子空间按照二进制分式进行频率的细分,以达到提高频率分辨率的目的。
一种自然的做法是将尺度空间和小波子空间用一个新的子空间统一起来表征,若令
则Hilbert空间的正交分解即可用的分解统一为
(2.22)
定义子空间是函数是函数的闭包空间,而是函数的闭包空间,并令满足下面的双尺度方程:
(2.23)
式中,,即两系数也具有正交关系。当n=0时,以上两式直接给出
(2.24)
与在多分辨分析中,满足双尺度方程:
(2.25)
相比较,和分别退化为尺度函数和小波基函数。式(2.24)是式(2.22)的等价表示。把这种等价表示推广到(非负整数)的情况,即得到(2.23)的等价表示为
; (2.26)
定义(小波包) 由式(2.23)构造的序列(其中)称为由基函数=确定的正交小波包。当n=0时,即为(2.24)式的情况。
由于由唯一确定,所以又称为关于序列的正交小波包。
2.2 小波包的性质
定理1 设非负整数n的二进制表示为 ,=0或1。则小波包的傅立叶变换由下式给出:
(2.27)
式中
定理2 设是正交尺度函数的正交小波包,则,即构成的规范正交基。
2.3 小波包的空间分解
令是关于的小波包族,考虑用下列方式生成子空间族。现在令n=1,2,…;j=1,2,…,并对(2.22)式作迭代分解,则有
因此,我们很容易得到小波子空间的各种分解如下:
…
…
…
…
空间分解的子空间序列可写作,m=0,1,…,-1;l=1,2,…。子空间序列的标准正交基为。容易看出,当l=0和m=0时,子空间序列简化为=,相应的正交基简化为,它恰好是标准正交小波族。
若n是一个倍频程细划的参数,即令n=+m,则我们有小波包的简略记号,其中,。我们把称为既有尺度指标j、位置指标k和频率指标n的小波包。将它与前面的小波作一比较知,小波只有离散尺度j和离散平移k两个参数,而小波包除了这两个离散参数外,还增加了一个频率参数n=+m。正是这个频率新参数的作用,使得小波包克服了小波时间分辨率高时频率分辨率低的缺陷,于是,参数n表示函数的零交叉数目,也就是其波形的震荡次数。
定义(小波库) 由生成的函数族(其中;j,)称为由尺度函数构造的小波库。
推论1.1 对于每个j=0,1,2,…
=…… (2.28)
这时,族{|j=…,-1,0;n=2,3,…且} (2.29)
是的一个正交基。
随着尺度j的增大,相应正交小波基函数的空间分辨率越高,而其频率分辨率越低,这正是正交小波基的一大缺陷。而小波包却具有将随j增大而变宽的频谱窗口进一步分割变细的优良性质,从而克服了正交小波变换的不足。
小波包可以对进一步分解,从而提高频率分辨率,是一种比多分辨分析更加精细的分解方法,具有更好的时频特性。
2.4 小波包算法
下面给出小波包的分解算法和重构算法。设,则可表示为
(2.30)
小波包分解算法:由求与
(2.31)
小波包重构算法:由{}与求Error: Reference source not found
3.小波包分析在图像处理中的实际应用
小波分析之所以在信号处理中有着强大的功能,是基于其分离信息的思想,分离到各个小波域的信息除了与其他小波域的关联,使得处理的时候更为灵活。全局阈值化方法作用的信息密度太大,不够精细,所以很难同时获得高的压缩比和能量保留成分,在作用的分层阈值以后,性能明显提高,因为分层阈值更能体现信号固有的时频局部特性。
但是小波分解仍然不够灵活,分解出来的小波树只有一种模式,不能完全地体现时频局部化信息。而压缩的核心思想既是尽可能去除各小波域系数之间的信息关联,最大限度体现时频局部化的信息,因此,实际的压缩算法多采用小波包算法,而小波树的确定则是根据不同的信息论准则,以达到分解系数表达的信息密度最高。
3.1小波包处理图像所用函数介绍
小波包处理图像用到的函数主要有wpdec2、wpbmpen、wpdencmp等,下面主要介绍一下wpdencmp函数的用法。函数wpdencmp的调用格式有以下两种:
[XD,TREED,PERF0,PERFL2]=wpdencmp(X,SORH,N,'wname',CRIT,PAR,KEEPAPP)(1)
[XD,TREED,PERF0,PERFL2]=wpdencmp(TREE,SORH,CRIT,PAR,KEEPAPP)(2)
格式(1)返回输入信号X(一维或二维)的去噪或压缩后的信号XD。输出参数TREED是XD的最佳小波包分解树;PERFL2和PERF0是恢复和压缩L2的能量百分比。PERFL2=100*(X的小波包系数范数/X的小波包系数)^2;如果X是一维信号,小波wname是一个正交小波,则PERFL2=100*||XD||^2/||X||^2。SORH的取值为's'或'h',表示的是软阈值或硬阈值。
输入参数N是小波包的分解层数,wname是包含小波名的字符串。函数使用由字符串CRIT定义的熵和阈值参数PAR实现最佳分解。如果KEEPAPP=1,则近似信号的小波系数不进行阈值量化;否则,进行阈值量化。
格式(2)与格式(1)的输出参数相同,输入选项也相同,只是它从信号的小波包分解树TREE进行去噪或压缩。
3.2小波包处理图像主程序介绍
下面是运用小波包进行图像处理的程序实例:
I1=imread('D:\Install\Matlab\toolbox\images\imdemos\moon.tif');
L=4;
I=wextend('2D','zpd',I1,L);
nbc=size(I,1);
X = im2double(I);
% 产生噪声图像
init=2055415866;
randn('seed',init);
x=X+randn(size(X))/10;
wname='sym4';lev=3;
[c,l]=wavedec2(x,lev,wname);
sigma_s=0.048535;
% 图像降噪时,使用wbmpen 函数选择阈值
alpha=2;
thr_s=wbmpen(c,l,sigma_s,alpha);
% 使用软阈值和保存的低频信号,进行图像降噪
keepapp=1;
xds1=wdencmp('gbl',x,wname,lev,thr_s,'s',keepapp);
sigma_h=0.045663;
thr_h=wbmpen(c,l,sigma_h,alpha);
% 使用硬阈值和保存的低频信号,进行图像降噪
xdh1=wdencmp('gbl',x,wname,lev,thr_h,'h',keepapp);
%colormap(pink(nbc));
subplot(231);imshow(I,nbc);title('原始图像');
subplot(234);imshow(x);title('加噪图像');
subplot(232);imshow(xds1);title('小波软阈值降噪图像');
subplot(235);imshow(xdh1);title('小波硬阈值降噪图像');
tree=wpdec2(x,lev,wname);
det1=[wpcoef(tree,2) wpcoef(tree,3) wpcoef(tree,4)];
sigma=median(abs(det1(:)))/0.6745;
alpha=2;
thr=wpbmpen(tree,sigma,alpha);
keepapp=1;
xds2=wpdencmp(tree,'s','nobest',thr,keepapp);
xdh2=wpdencmp(tree,'h','nobest',thr,keepapp);
colormap(pink(nbc));
subplot(233);imshow(xds2);title('小波包软阈值降噪图像');
subplot(236);imshow(xdh2);title('小波包硬阈值降噪图像');
在本程序中首先读取matlab安装包中自带的图片(路径为:D:\Install\Matlab\toolbox\images\imdemos\moon.tif),然后对图片进行零延拓,再将其转换为双精度信息。程序框图图3-1所示:
零延拓
读取图片
转换为
双精度
加入噪声信号
选取
标准差1
小波软
阈值分解
画出图像
选取
标准差1
小波软
阈值分解
小波分解
小波包软阈值分解
选取
阈值
小波
包分解
小波包软阈值分解
画出图像
图3-1程序框图
分别用小波和小波包处理图像处理结果如下图3-2所示:
图3-2小波和小波包处理图像结果
从图3-2可以看出,在选用sym4小波进行多尺度分解时,去噪效果还是比较理想的。其中小波软阈值降噪最为理想,总体来说用小波包进行降噪效果比小波较好。
4.总结
本文主要结合小波包变换的基本概念和基本原理,详细讨论小波包在图像处理领域的应用,并结合MATLAB程序设计语言来说明其应用。在程序设计中,本文通过小波降噪与小波包降噪两种方法的比较,试着来解释小波与小波包图像去噪的区别。
小波分析的思想是用一族函数去表示或逼近一信号或函数,这一族函数称为小波函数系。它是通过满足一定条件的基本小波函数的不同尺度的平移和伸缩构成的。用小波函数系表示的特点是它的时宽与频宽的乘积很小,且在时间和频率轴上都很集中。因此,其时-频分辨率在低频处频率分辨率高,在高频处时间分辨率高,频率分辨率却降低。这是正交小波基的一大缺陷。而小波包却具有随分辨率的增加,变宽的频谱窗口进一步分割变细的优良品质,因而它能对小波分析没有细分的高频部分进行进一步分解,并能够根据被分析信号的特征,自适应地选择相应的频带,使之与信号频谱相匹配,从而提高时频分辨率,它是一种比小波分析更精细的分析方法。
从图像可以看出,无论采用小波还是小波包,软阈值的去噪效果都要好于硬阈值去噪,这主要是因为软阈值法具有连续性,从而使去噪后的图像相对平滑,但就保留细节而言,硬阈值法要好于软阈值法,这充分体现了软阈值法和硬阈值法各自的特点。另一方面,从图像还可以看出,小波包去噪方法的去噪效果要明显好于小波去噪方法。
基于MATLAB小波变换的的图像压缩相关推荐
- 【图像去噪】基于matlab小波变换(硬阙值+软阙值)图像去噪【含Matlab源码 391期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab小波变换(硬阙值+软阙值)图像去噪[含Matlab源码 391期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...
- 【语音隐藏】基于matlab小波变换DWT结合离散余弦变换DCT音频数字水印嵌入提取【含Matlab源码 2131期】
⛄一.离散小波变换的音频信号数字水印技术简介 0 引言 近年来, 数字水印技术的作用越来越重要.数字水印技术是将一些标识信息直接嵌入数字载体当中, 或间接表示在信号载体中, 且不影响原载体的使用价值. ...
- 【图像去噪】基于matlab小波变换(硬阙值+软阙值+折中阙值+最佳阙值)图像去噪【含Matlab源码 2596期】
⛄一.图像去噪及滤波简介 1 图像去噪 1.1 图像噪声定义 噪声是干扰图像视觉效果的重要因素,图像去噪是指减少图像中噪声的过程.噪声分类有三种:加性噪声,乘性噪声和量化噪声.我们用f(x,y)表示图 ...
- 谐波小波matlab,基于MATLAB小波变换在电网谐波检测的仿真与研究
<工业控制计算机>2012 年第 25 卷第 10 期 谐波分析是当前国内外电能质量检测研究的一个热点,其研究的难点是对突变的. 暂态的. 非平稳扰动信号的检测与分析,只利用传统的傅立叶变 ...
- 【语音隐写】基于matlab小波变换量化音频数字水印【含Matlab源码 351期】
⛄一.小波变换量化音频数字水印简介 随着计算机和网络的飞速发展,人们的许多创作和成果都以数字形式进行存储和发布.然而,数字作品极易被非法拷贝.伪造和窜改,使得很多版权所有者不愿意利用网络公开其作品,从 ...
- 【故障诊断分析】基于matlab小波变换外圈轴承故障诊断【含Matlab源码 1678期】
一.简介 在滚动轴承的故障诊断时,传统的频谱分析法通常采用共振解调技术 , 具有良好的效果 ,但当内圈 . 滚动体或多点故障时,解调谱线却很难分辨故障类型小波包是小波理论在信号处理应用领域的又一重大发 ...
- 基于matlab小波变换的突变检测识别
clear all; close all; clc; %% 原始信号生成与突变点的添加 Fs = 1000; % 采样频率1000Hz Ts = 1 / Fs; % 采样时间间隔1ms L = 100 ...
- MATLAB小波变换的图像融合系统[完美运行,GUI界面,详细教程,万字文稿]
课题题目 基于MATLAB小波变换的图像融合系统 GUI框架链接:戳这里 课题背景介绍 数字图像融合是一项最新发展起来的应用,对于数字图像处理和数字图像分析起着非常重要的重要.虽然现阶段,对于图像处理 ...
- matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...
一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...
- 基于MATLAB的图像压缩感知设计(含源文件)
欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 名称 基于MATLAB的图像压缩感知 目录 目录 I 第1章 绪论 3 1.1 ...
最新文章
- abb限位开关已打开drv1_施工升降机上有10个限位器,你都知道了吗?
- thread 在 surfaceview 中的使用与删除
- 【原】Mac下统计任意文件夹中代码行数的工具——cloc
- 如果诸葛亮用C++写出师表。。。。
- coherence安装_Oracle Coherence:分布式数据管理
- Trie 树内存消耗问题
- 传京东将收购格力电器5%股权 官方回应:消息不实
- Loadrunner中web_reg_save_param的使用详解
- 蓝桥杯 ALGO-81 算法训练 动态数组使用
- 最全下载jar包的网站
- Maven POM 浅析
- sublime批量添加注释
- 【游戏引擎Easy2D】第一个引擎程序
- 关于ExtJS错误“例外被抛出且未被接住”问题
- UTF-8转GBK(GBK转UTF-8)
- 人工智能、大数据、数据挖掘、机器学习-数据集来源
- 如何删除双系统中的ubuntu系统
- LeetCode995.Minimum Number of K Consecutive Bit Flips(K 连续位的最小翻转次数 )
- 注册表编辑已经被您的系统管理员停用
- 减肥 低热量食物和运动卡路里
热门文章
- GPS从入门到放弃(二十二) --- 站点位移
- CNKI知网查重账号和密码怎么申请
- android aso优化工具,如何使用ASO优化工具优化安卓应用商店
- 当前计算机技术在制图,计算机技术在《机械制图》课程中的应用
- butter滤波器是iir吗_IIR Butterworth型模拟低通滤波器设计原理
- 翻译:最令人印象深刻的YouTube频道,可让您学习AI,机器学习和数据科学
- 国内百家企业SRC一览表(安全应急响应中心)
- NM3000多用表校验仪
- uni-app小程序与app端的兼容问题
- 大学生计算机应用大赛广告设计,计算机应用工程系第四届“经纬在线杯”网页广告设计大赛圆满结束...