- 中文名
- 小波分解
-
小波分解
2017-09-28 19:56:33小波分解对1张图象进行小波分解,可以在MATLAB中实现。 -
小波分解和小波包分解
2018-03-04 16:39:53这篇文章介绍了小波分解和小波包分解。 小波分解(wavelet transform) 小波 傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波...这篇文章介绍了小波分解和小波包分解。
小波分解(wavelet transform)
小波
傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波构成一个小波族(family)。小波具有这样的局部特性:只有在有限的区间内取值不为0。这个特性可以很好地用于表示带有尖锐, 不连续的信号。
小波变换
α=WTfα=WTf其中αα 表示变换得到的小波系数,W是正交矩阵。ff 是输入信号。正交矩阵构造
特定的小波函数(basic wavelet)由一组特定的小波滤波系数(wavelet filter coefficients)构成。当选定了小波函数,其对应的那组小波滤波器系数就知道。用小波滤波器系数构造不同维度的低通滤波器和高通滤波器(下面的例子中W就是由这些系数构造出来的)。低通滤波器可以看作为一个平滑滤波器(smoothing filter)。这两个滤波器,低通和高通滤波器,又分别被称为尺度(scaling)和小波滤波器(wavelet filter)。一旦定义好了这两个滤波器,通过递归分解算法(也称为金字塔算法(pyramid algorithm),树算法(tree algorithm)将得到水平多分辨率表示的信号。
树算法
原始信号通过低通滤波器得到低频系数 (approximate coefficients), 通过高通滤波器得到高频系数(detail coefficients)。把第一层的低频系数作为信号输入,又得到一组approximate coefficients和detail coefficients。再把得到的approximate coefficients作为信号输入,得到第二层的approximate coefficients和detail coefficients。以此类推,直到满足设定的分级等级。最大的分解等级为log2Nlog2N.
用数学表达就是:
原始信号可看做0级低频系数 a0=(f0,f1,...,fn)a0=(f0,f1,...,fn);
那么am=G∗am−1am=G∗am−1, dm=Ham−1dm=Ham−1, G,H 分别表示低通滤波器和高通滤波器,用矩阵表示。信号的重构
am−1=G∗am+H∗dmam−1=G∗am+H∗dmG∗G∗,H∗H∗为G,H 的共轭矩阵。例子:使用Haar小波做离散小波变换
Haar小波是最简单的小波函数。归一化的小波滤波器系数只有两个c0=12−−√=0.7071c0=12=0.7071, c1=−0.7071c1=−0.7071. 低通滤波器由0.7071,0.7071组成,高通滤波器由0.7071,-0.7071组成,用矩阵G和H表示,矩阵的维度由信号的长度决定。
分解的结果小波包分解(wavelet packet transform)
简单理解就是每一层分解得到的系数都要再分解,不像小波分解那样只有低频系数会再分解。同样以Haar小波为例子。
分解结果 -
python小波包分解_小波分解和小波包分解
2020-12-10 11:38:35这篇文章介绍了小波分解和小波包分解。小波分解(wavelet transform)小波傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波构成一个小波族...这篇文章介绍了小波分解和小波包分解。
小波分解(wavelet transform)
小波
傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波构成一个小波族(family)。小波具有这样的局部特性:只有在有限的区间内取值不为0。这个特性可以很好地用于表示带有尖锐, 不连续的信号。
小波变换
α=WTfα=WTf 其中αα 表示变换得到的小波系数,W是正交矩阵。ff 是输入信号。
正交矩阵构造
特定的小波函数(basic wavelet)由一组特定的小波滤波系数(wavelet filter coefficients)构成。当选定了小波函数,其对应的那组小波滤波器系数就知道。用小波滤波器系数构造不同维度的低通滤波器和高通滤波器(下面的例子中W就是由这些系数构造出来的)。低通滤波器可以看作为一个平滑滤波器(smoothing filter)。这两个滤波器,低通和高通滤波器,又分别被称为尺度(scaling)和小波滤波器(wavelet filter)。一旦定义好了这两个滤波器,通过递归分解算法(也称为金字塔算法(pyramid algorithm),树算法(tree algorithm)将得到水平多分辨率表示的信号。
树算法
原始信号通过低通滤波器得到低频系数 (approximate coefficients), 通过高通滤波器得到高频系数(detail coefficients)。把第一层的低频系数作为信号输入,又得到一组approximate coefficients和detail coefficients。再把得到的approximate coefficients作为信号输入,得到第二层的approximate coefficients和detail coefficients。以此类推,直到满足设定的分级等级。最大的分解等级为log2Nlog2N.
用数学表达就是:
原始信号可看做0级低频系数 a0=(f0,f1,...,fn)a0=(f0,f1,...,fn);
那么am=G∗am−1am=G∗am−1, dm=Ham−1dm=Ham−1, G,H 分别表示低通滤波器和高通滤波器,用矩阵表示。
信号的重构
am−1=G∗am+H∗dmam−1=G∗am+H∗dm G∗G∗,H∗H∗为G,H 的共轭矩阵。
例子:使用Haar小波做离散小波变换
Haar小波是最简单的小波函数。归一化的小波滤波器系数只有两个c0=12−−√=0.7071c0=12=0.7071, c1=−0.7071c1=−0.7071. 低通滤波器由0.7071,0.7071组成,高通滤波器由0.7071,-0.7071组成,用矩阵G和H表示,矩阵的维度由信号的长度决定。
分解的结果
小波包分解(wavelet packet transform)
简单理解就是每一层分解得到的系数都要再分解,不像小波分解那样只有低频系数会再分解。同样以Haar小波为例子。
分解结果
-
基于Matlab的小波分解、去噪与重构x_matlab小波分解与重构
2020-03-19 13:01:20现代信号处理 大作业 基于 Matlab 的小波分解去噪与重构 1 目录 一 作 业 内 容 及 要 求 . .3 1.1 作 业 内 容 . .3 1.2 作 业 要 求 . .3 二 系 统 原 理 . .3 2.1 小 波 变 换 原 理 . .3 2.2 阈 值 去 噪 原 理 ... -
5.4 小波分解法.zip
2021-04-02 19:21:14小波分解降噪 -
python小波分解与重构_小波分解和重构
2020-12-06 06:43:12小波变换能够很好地表征一大类以低频信息为主要成分的信号,小波包变换可以对高频部分提供更精细的分解详见(http://www.cnblogs.com/welen/articles/5667217.html)小波分解函数和重构函数的应用和区别...小波变换能够很好地表征一大类以低频信息为主要成分的信号,
小波包变换可以对高频部分提供更精细的分解
详见(http://www.cnblogs.com/welen/articles/5667217.html)
小波分解函数和重构函数的应用和区别
(https://www.baidu.com/link?url=NsLWcGxYPabqB0JEFzkjHzeLmcvGkjDRccPoaD7K0gwo9mrHRDCUgTbV15zT8NKTm9PAuTJ2Hwb3n10PutFRpbOdQRac7XC48fI2uYmA2eC&wd=&eqid=bae463400004bb3f000000035c0cc2a9)
小波分析基本函数可分为分解和重构两类.
一维小波分解函数和系数提取函数:
对常用的dwt、wavedec、appcoef函数的常用格式进行举例说明。
格式: [ca, cd]=dwt(X,’wname’) %单尺度一维离散小波分解
[C, L]=wavedec(X,N,’wname’) %多尺度一维小波分解(多分辨分析函数)
ca=appcoef(C,L,’wname’,N) %提取一维小波变换低频系数
说明:
(1)小波分解函数和系数提取函数的结果都是分解系数;
(2)如何理解小波系数:小波系数是信号在做小波分解时所选择的小波函数空间的投影。
我们知道,一个信号可以分解为傅里叶级数,即一组三角函数之和,而傅里叶变换对应于傅里叶级数的系数;同样,一个信号可以表示为一组小波基函数之和,小波变换系数就对应于这组小波基函数的系数。
(3)多尺度分解是按照多分辨分析理论,分解尺度越大,分解系数的长度越小(是上一个尺度的二分之一)。我们会发现分解得到的小波低频系数的变化规律和原始信号相似,但要注意低频系数的数值和长度与原始信号以及后面重构得到的各层信号是不一样的。
一维小波重构函数:
对常用的idwt、waverec、wrcoef函数进行举例说明。
格式:
X=idwt(ca,cd,’wmane’) %单尺度一维小波逆变换
X=waverec(C,L,’wname’) %多尺度一维小波重构
X=wrcoef(‘type’,C,L,’wname’,N) %对一维小波系数进行单支重构
说明:
(1)小波重构函数的结果都是信号;
(2)不管是用哪个重构函数对系数进行重构后,结果的长度和原始信号的长度是相同的;
如果重构的是低频部分,那么观察得到的结果X,其数值大小和原始信号是差不多的。
(其他参考:
https://www.baidu.com/link?url=Op4W9vNERXYnf25eqkDqywDdzN_J_6jJrZPi1DgK_uFkD3Jzbcfv41bu6dPSnCgg0lMKnES9qsIppG7Q95_RVOyotqEU2cTnkj1FkH5-c1a&wd=&eqid=bae463400004bb3f000000035c0cc2a9
https://blog.csdn.net/chenyusiyuan/article/details/2514119)
小波去噪:
一般来说,噪声信号多包含在具有较高频率细节中,在对信号进行了小波分解之后,再利用门限阈值等形式对所分解的小波系数进行权重处理,然后对小信号再进行重构即可达到信号去噪的目的。具体步骤为:
a.一维信号的小波分解,选择一个小波并确定分解的层次,然后进行分解计算。
b.小波分解高频系数的阈值量化,对各个分解尺度下的高频系数选择一个阈值进行软阈值量化处理。
C.一维小波重构,根据小波分解的最底层低频系数和各层高频系数进行一维小波的重构
一维小波变换的 Matlab 实现(https://blog.csdn.net/qq_29543611/article/details/80232662)
(1) dwt 函数
功能:一维离散小波变换
格式:[cA,cD]=dwt(X,'wname')
[cA,cD]=dwt(X,Lo_D,Hi_D)
说明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号 X 进行分解,cA、cD 分别为近似分量和细节分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信号进行分解。
(2) idwt 函数
功能:一维离散小波反变换
格式:X=idwt(cA,cD,'wname')
X=idwt(cA,cD,Lo_R,Hi_R)
X=idwt(cA,cD,'wname',L)
X=idwt(cA,cD,Lo_R,Hi_R,L)
说明:X=idwt(cA,cD,'wname') 由近似分量 cA 和细节分量 cD 经小波反变换重构原始信号 X 。
'wname' 为所选的小波函数
X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重构滤波器 Lo_R 和 Hi_R 经小波反变换重构原始信号 X 。
X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信号 X 中心附近的 L 个点。
其他资料:
http://blog.sina.com.cn/s/blog_b526d0f10102xxh6.html
https://blog.csdn.net/charlene_bo/article/details/71156390
https://blog.csdn.net/ckzhb/article/details/78288847
小波包分解和小波分解:(https://blog.csdn.net/ckzhb/article/details/78288847)
能量谱:(https://blog.csdn.net/ckzhb/article/details/78288847 )
基于小波包分解提取多尺度空间能量特征的原理是把不同分解尺度上的信号能量求解出来,将这些能量值按尺度顺序排列成特征向量供识别使用。
20180510补充更新:具体计算公式如下所示,本文中未使用重构后的系数进行能量值计算,直接使用小波包分解后的系数,参考文献《基于小波包能量特征的滚动轴承故障监测方法 》。
给出两部分代码,写成两个函数。一个是小波包分解与重构,另一个是能量谱函数。
代码名称:wavelet_packetdecomposition_reconstruct
https://blog.csdn.net/qq_23869697/article/details/79436808
-
小波分解数据恢复
2015-11-16 15:34:10用于对小波分解后的数据进行恢复。输入为小波的类型,与小波分解的层数。输出为小波分解前的数据矩阵。 -
小波分解代码
2015-11-16 15:21:50本代码,可用于对输入信号,进行任意指定小波类型、任意指定层数的小波分解。 -
python图像多层小波分解_Python中图像小波分解与重构以及灰度图加噪
2021-03-18 09:58:05Python中图像小波分解与重构以及灰度图加噪Python中图像小波分解与重构以及灰度图加噪最近需要做小波分解相关的东西,博客这里做一个简单的记录灰度图的小波分解与重构:from PIL import Imageimport matplotlib....Python中图像小波分解与重构以及灰度图加噪
Python中图像小波分解与重构以及灰度图加噪
最近需要做小波分解相关的东西,博客这里做一个简单的记录
灰度图的小波分解与重构:
from PIL import Image
import matplotlib.pyplot as plt
from matplotlib.pyplot import imshow
import numpy as np
# 小波库
import pywt
import cv2
# 读取图像并转化为灰度图
im = cv2.imread('LenaRGB.bmp')
im = cv2.resize(im, (256, 256))
img = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY).astype(np.float32)
# 对图像进行小波分解
coeffs = pywt.dwt2(img, 'bior1.3')
LL, (LH, HL, HH) = coeffs
# 查看分解结果
plt.subplot(221), plt.imshow(LL, 'gray'), plt.title("LL")
plt.subplot(222), plt.imshow(LH, 'gray'), plt.title("LH")
plt.subplot(223), plt.imshow(HL, 'gray'), plt.title("HL")
plt.subplot(224), plt.imshow(HH, 'gray'), plt.title("HH")
plt.show()
结果如下:
对图像进行小波重构
# 很简单,直接拿轮子来用
img_r = pywt.idwt2(coeffs, "bior1.3")
plt.imshow(img_r, 'gray')
结果如下:
灰度图加指定半径噪声
# 原灰度图除255,调轮子,再乘255就完事了
# 非灰度图不需要这个操作,直接调random_noise就好
def imnoise(img, sigma):
return skimage.util.random_noise(img / 255, mode='gaussian', seed=None, var=(sigma/255.0)**2) * 255
调用后的结果如下,这是半径为25的结果:
Python中图像小波分解与重构以及灰度图加噪相关教程
用python给你带来你的桃花运,详细解析画一棵表白树!
用python给你带来你的桃花运,详细解析画一棵表白树! 程序员就只能简简单单的用手里的代码来实现自己最直接的想法。-------------鲁迅表示这句话他没说过 ————————————————————————————————————————————— 在家
python3爬虫之多线程爬取英雄联盟所有皮肤图片
python3爬虫之多线程爬取英雄联盟所有皮肤图片 python3爬虫之多线程爬取英雄联盟所有皮肤图片 线程不要太高,容易出错,大约用时1分钟左右。 import requestsimport jsonimport osimport threadingimport reimport timeh=[] #定义数列n=0# from lxml import e
博客Top100的“大人物”都是那些?python爬虫带你看!
博客Top100的“大人物”都是那些?python爬虫带你看! 使用CSDN也快一年了,排名靠前的博主,我基本都看过他们的文章,有的通俗易懂,有的富含哲理,更多的是他们人生历练和各种经验之谈,我都很佩服他们,可以有这样的成就,是真的不容易,这篇文章,目的爬
刚上班的朋友老是想着还有多久下班,用Python写个计算下班时间脚
刚上班的朋友老是想着还有多久下班,用Python写个计算下班时间脚本 朋友刚毕业,每天从出门就开始等着下班,每天16:30准点下班,上班的时候老是跟我聊还有多久下班,我想着我是做Python的。 众所周知,Python除了生孩子,其他什么都能做,既然这么喜欢问还有
Python大神用的9个实用技巧分享给你
Python教程 栏目会试着介绍一些其它文章没有提到的小技巧,这些小技巧也是我平时会用到的的。让我们一探究竟吧! 整理字符串输入 整理用户输入的问题在编程过程中极为常见。通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex
Python这68个内置函数,建议你吃透!
python视频教程栏目给大家打头阵介绍68个内置函数! 内置函数就是Python给你提供的, 拿来直接用的函数,比如print,input等。 截止到python版本3.6.2 ,一共提供了68个内置函数,具体如下 abs() dict() help() min() setattr()all() dir() hex() next() slic
Python列表去重的方式有很多,了解它们,进行性能的对比
Python列表去重的方式有很多,了解它们,进行性能的对比 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于Python 实用宝典,作者Python 实用宝典 前言 列表去重是Python中
python正则 .* 和 .*? 有什么区别?re.search()用法
python正则 .* 和 .*? 有什么区别?re.search()用法 目录 .* 和 .*? 有什么区别? \s和\S \w和\W re.search()用法 例1 例2 flag用法: 正则匹配电话号码 .* 和 .*? 有什么区别? * 通配符匹配 零个或多个 字符 ? 通配符匹配文件名中的 0 个或 1 个 字符 表达
-
图像的小波分解
2016-09-28 20:38:12图像的小波分解 -
db6小波分解
2019-01-11 21:03:09db6小波分解,结果和工具箱一样,有注释,可DIY修改。 -
MATLAB小波分解代码
2018-03-13 16:45:34MATLAB小波分解代码,使用了wavedec 和wrcoef两个函数 -
C_C++ Wavelet小波分析之一维小波分解与重构
2021-01-23 14:30:15这是小波分解与重构的源代码,对于学习分析的人可以参考下,函数都是与MATLAB里面小波函数一致,可以直接使用DB4小波和SYM4小波,其他的类型的小波大家可以自己改改。 -
小波分解系数
2014-10-10 17:07:13不使用Matlab中自带的小波分解,编写函数wavework代替此功能 -
小波分解与重构
2015-05-13 16:14:54小波分解和重构的信息代码,可以帮助大家学习小波的分解与重构。 -
小波分解程序
2014-04-10 10:09:23主要是关于课本上灰度图像的小波分解程序,可以运行 -
多层小波分解与重构.m
2019-06-12 16:37:44有关小波分解的matlab基础应用,很常见的仿真,多层小波分解与重构matlab程序 -
小波分解程序可用
2014-06-07 16:51:48小波分解 可用 分解数据一种有效方法 已经验证 -
图像小波分解
2011-12-01 10:48:19图像处理,用小波进行层小波分解。很不错,推荐一下!~ -
s整数小波分解图像.rar
2020-03-15 12:03:06通过实验体会整数小波变换,由于MATLAB自身对矩阵操作的方便性,以及其丰富...要说明的是,这里并不是直接利用MATLAB中的wavelet工具箱中的已有小波函数对图象进行整数小波分解,而是用下面的已知分解公式进行小波分解 -
不同类型小波分解
2013-01-24 13:57:42对声音信号用不同的类型的小波进行分解,得到分解后的小波系数。对比不同类型小波分解对声音信号分解的效果