基于小波包的图像压缩及matlab实现,基于小波包的图像压缩及matlab实现精选.doc...

基于小波包的图像压缩及matlab实现精选

基于小波包的图像压缩及matlab实现

摘要:小波包分析理论作为新的时频分析工具,在信号分析和处理中得到了很好的应用,它在信号处理、模式识别、图像分析、数据压缩、语音识别与合成等等许多方面都取得了很有意义的研究成果。平面图像可以看成是二维信号,因此,小波包分析很自然地应用到了图像处理领域,如在图像的压缩编码、图像消噪、图像增强以及图像融合等方面都很好的应用。本文将对小波包分析在图像处理中的应用作以简单介绍。

关键词:小波包 图像处理 消噪

1.小波包基本理论

1.1 小波包用于图像消噪

图像在采集、传输等过程中,经常受到一些外部环境的影响,从而产生噪声使得图像发生降质,图像消噪的目的就是从所得到的降质图像中去除噪声还原原始图像。图像降噪是图像预处理中一项应用比较广泛的技术,其作用是为了提高图像的信噪比突出图像的期望特征。图像降噪方法有时域和频域两种方法。频率域方法主要是根据图像像素噪声频率范围,选取适当的频域带通过滤波器进行滤波处理,比如采用Fourier变换(快速算法FFT)分析或小波变换(快速算法Mallat算法)分析。空间域方法主要采用各种平滑函数对图像进行卷积处理,以达到去除噪声的目的,如邻域平均、中值(Median)滤波等都属于这一类方法。还有建立在统计基础上的lee滤波、Kuan滤波等。但是归根到底都是利用噪声和信号在频域上分布不同进行的:信号主要分布在低频区域。而噪声主要分布在高频区域,但同时图像的细节也分布在高频区域。所以,图像降噪的一个两难问题就是如何在降低图像噪声和保留图像细节上保持平衡,传统的低通滤波方法将图像的高频部分滤除,虽然能够达到降低噪声的效果,但破坏了图像细节。如何构造一种既能够降低图像噪声,又能保持图像细节的降噪方法成为此项研究的主题。在小波变换这种有力工具出现之后,这一目标已经成为可能。

基于小波包变换消噪方法的主要思想就是利用小波分析的多尺度特性,首先对含有噪声的图像进行小波变换,然后对得到的小波系数进行阈值化处理,得到新的小波系数,对其进行反变换,这样我们就得到了消噪之后的图像,从而实现了对图像的恢复。目前,已经发展了许多小波变换与传统图像消噪方法相结合的新的图像消噪算法,它们吸收二者的优点,从而提高了图像的消噪效果,得到了较好的应用。

1.2. 小波包用于图像压缩

当今,我们正处在一个高速发展的信息时代,而信息的本质就是要求进行存储、交流和传输。信息有多种形式,包括文字、声音、静止图像、视频图像等等。在众多的信息形式中,图像信息最具有直观性和生动性,从而成为人们需求的主要信息形式。然而由于图像信息的数据量太大,作数字传输时占有的信道频带有非常宽的问题,直接制约着图像信息的存储和传输。因此,为了有效地利用现代通讯业务和信息处理中的宝贵资源,需要对大量的数据信息,尤其是图像信息进行压缩,因此图像数据压缩技术和解压缩技术成了多媒体技术的关键技术之一。

近年来,由于“海量”多媒体信息的出现,经典图像压缩算法已不能满足实际应用的需要,迫切需要有更高压缩效率和适用于各种需要的新压缩算法。经典压缩算法一般是在时域或者频域进行分析和操作,因而经典图像压缩算法只是利用了图像的部分特征,研究人员希望同时利用两个域的特征,兼容时域和频域分析的优越性。另外经典压缩算法一般使用的DCT和傅立叶变换是用余弦曲线和正弦曲线作为它们的正交函数基,但这些函数都不是紧支集。而我们在实际应用中处理的大部分是瞬态信号。特别地,在图像处理中许多重要特征也是空间位置高度局部化的,如果使用一般的变换,这些瞬态和局部化成分的信息就很难得到最佳表示。实际上,DCT和傅立叶变换能用余弦和正弦函数表示任何分析函数,甚至是一个瞬态信号,但这种表示在函数频谱上会呈现相当混乱的构成。

为了克服这种缺陷,研究人员已经发现若干种使用优先宽度的基函数,我们称之为小波。使用这些基函数的变换被称之为小波变换。利用小波变换对图像进行压缩是当前一个研究热点。小波包分析是近些年在小波分析的基础上发展起来的,将图像在小波包最优基下展开,利用小波包最优基极好的空间、尺度定位性,使得图像的小波包变换系数在小波变换域尽可能的集中,从而使在不降低压缩图像的质量情况下,进一步地提高图像压缩比成为可能。

2.小波包分析

短时傅立叶变换对信号的频带划分是线性等间隔的。多分辨分析可以对信号进行有效的时频分解,但由于其尺度是按二进制变化的,所以在高频频段其频率分辨率较差,而在低频频段其时间分辨率较差,即对信号的频带进行指数等间隔划分(具有等Q结构)。小波包分析能够为信号提供一种更精细的分析方法,它将频带进行多层次划分,对多分辨率分析没有细分的高频部分进一步分解,并能够根据被分析信号的特征,自适应地选择相应频带,使之与信号频谱相匹配,从而提高了时-频分辨率,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为div添加滚动效果:

为div添加滚动效果: .xxxx{  width: 100%;height: 100%;overflow: hidden;overflow-y: auto;} 代码片段 <div class"xxxx"><div>aaa</div><div>aaa</div><div>aaa</div><div>aaa</div><div>aaa</d…

php读取子目录下文件内容,php小代码----目录下读取子文件或子目录_PHP教程

php小代码----目录下读取子文件或子目录rootPath $rootPath;if (is_dir($this->rootPath)) {$this->rootPath pathinfo($this->rootPath, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . pathinfo($this->rootPath, PATHINFO_BASENAME);$this->opDirectory dir(…

Apache Lens —— 统计数据分析查询接口

Lens 提供了一个统一数据分析接口。通过提供一个跨多个数据存储的单一视图来实现数据分析任务切分&#xff0c;同时优化了执行的环境。无缝的集成 Hadoop 实现类似传统数据仓库的功能。 该项目主要特性&#xff1a; 简单元数据层为数据存储提供抽象视图层 单一的共享模式服务器…

js文件中调用另一个js文件:

document.write("<script languagejavascript src/UEditor/uparse.js></script");转载于:https://www.cnblogs.com/flywing/p/3998261.html

JDK8新特性-java.util.function-Predicate接口

上篇主要对Function函数进行了简单了解&#xff0c;本篇则主要了解Predicate。该函数的主要作用其实就是判定输入的对象是否否和某个条件&#xff0c;然后将其布尔值返回。 主要使用方法如下&#xff1a; //唯一的抽象方法 boolean test(T t); //且操作&#xff0c;既满足A也满…

linux查服务器总内存大小,在linux 下怎么查看服务器的cpu和内存的硬件信息

1&#xff0c;Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu&#xff0c;在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. …

ZIP打包解包

linux zip命令的基本用法是&#xff1a; zip [参数] [打包后的文件名] [打包的目录路径] linux zip命令参数列表&#xff1a; -a 将文件转成ASCII模式-F 尝试修复损坏的压缩文件-h 显示帮助界面-m 将文件压缩之后&#xff0c;删除源文件-n 特定字符串 不压缩具有特定字尾字符串…

HTML5 上传图片预览

html5出现之前如果需要上传图片预览 一般都是先上传到服务器然后远程预览 html5出现之后 有个filereader 解决了这问题 //选中图片之后$("#fileAddPic").on(change, function (e) {var files e.target.files || e.dataTransfer.files;onSelect(files);})//选中图片…

博客园自动显示随笔标签

title: 博客园自动显示随笔标签 date: 2018-01-03 20:52:22 tags: 浏览器脚本 categories: 前端 在添加随笔页自动显示已有标签&#xff0c;不用点击插入已有标签 效果如图 安装链接https://greasyfork.org/zh-CN/scripts/36809-%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%98%BE%E7%A4%BA…

linux 进程代码,怎样从Linux终端管理进程:10个你必须知道的命令

Linux终端有一系列有用的命令。它们可以显示正在运行的进程、杀死进程和改变进程的优先级。本文列举了一些经典传统的命令和一些有用新颖的命令。本文提到的命令会实现某个单一功能。它们可以结合起来——这也是Unix设计程序的理念。其它命令&#xff0c;例如htop,会在命令的上…

c# datagridviewcomboboxcell值无效的解决办法

一直认为是数据库存储的数据和datagridviewcomboboxcell对不上导致&#xff0c;今天碰到两者对应上了&#xff0c;预览的时候还是提示错误&#xff0c; 查看了下网上其他大神的解决方法&#xff0c;是数据库字段类型有误&#xff0c;查看了下&#xff0c;当下拉菜单中包含中文字…

python object类

这个应为写得&#xff0c;写得蛮啰嗦的&#xff0c;建议耐心的人看看&#xff1a;http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html 知乎&#xff1a;http://www.zhihu.com/question/19754936 新式类&#xff0c;不学也没关系。看了一堆…

linux符号命令,Linux_几个符号命令(示例代码)

一、管道符号 | (将前面命令的输出结果传给后面的命令)[[email protected] ~]$ cat /etc/passwd | grep "^root"root:x:0:0:root:/root:/bin/bash二、重定向符号 [>] [[[email protected] ~]# df > /usr/tmp/df.txt # >:输入重定向 即将命令结果重定向给df.…

pycharm 安装 tensorflow

1. 安装python 3.5 链接&#xff1a;https://www.python.org/downloads/release/python-352/ 1.1如果之前安装了其他版本的&#xff0c;可以在你需要的项目中&#xff0c;导入本地需要的解释器 如果遇到安装包不知道安装位置&#xff0c;在C盘中搜索&#xff0c;然后将python3…

HashTable 源码解读

很多人都知道HashTable与HashMap的关系&#xff0c;HashTable是线程安全的&#xff0c;HashMap是非线程安全的。在介绍完HashMap之后&#xff0c;趁热介绍一下HashTable。在HashTable中没有像HashMap中那么多关于数据结构的内容。HashTable是线程安全的&#xff0c;因为其源码的…

C#Semaphore信号量用法

参考博客&#xff1a;http://www.cnblogs.com/free722/archive/2011/04/03/2004926.html http://www.cnblogs.com/heqichang/archive/2011/12/24/2300301.html 信号量说简单点就是为了线程同步&#xff0c;或者说是为了限制线程能运行的数量。 那它又是怎么限制线程的数量的哩&…

OC基础--OC中的类方法和对象方法

PS:个人感觉跟C#的静态方法和非静态方法有点类似&#xff0c;仅仅是有点类似。明杰老师说过不要总跟之前学过的语言做比较&#xff0c;但是个人觉得&#xff0c;比较一下可以加深印象吧。重点是自己真的能够区分开&#xff01; 一、OC中的对象方法 1.以减号“-”开头 2.只能让对…

linux vnc 改端口号,RHEL6下配置vncserver服务(包括修改vnc端口)

RHEL6下配置vncserver服务(包括修改vnc端口)(2012-04-13 23:36:07)标签&#xff1a;it配置完vsftpd后&#xff0c;还必须要开的服务就是vnc啦&#xff0c;首先&#xff0c;在root用户下利用yum源安装vncserver:yum list | grep vncyum install tigervnc-server.i686安装完成后&…

简单Linq笔记

Linq是.net 3.5才引入的 要引入命名空间System.Linq. Linq to XML要引入System.Xml.Linq Linq to ADO.NET要引入System.Data.Linq 每个Linq查询都是以from子句开始,Linq查询中,select子句和select子句都是必备子句.Linq查询表达式 必须以select或group子句结束 from字句包括两…