【opencv】小波变换
一、小波变换是什么
小波变换(wavelet transform)的通俗解释(一)
1、与傅里叶变换的关系
(1)非*稳信号的处理
通常使用傅里叶变换可以把信号从时域变换到频领。频谱中的峰表示信号中出现频率最多的频率。峰值越大越尖锐,信号中的频率就越普遍。频谱中峰值的位置(频率值)和高度(振幅)可以作为分类器(比如随机森林、梯度增强树等)的输入。
傅里叶变换处理*稳信号效果很好,此处的*稳信号指信号中出现的频率和时间无关。但是傅里叶变换在处理非*稳/动态信号时,效果不是太好。在真实生活中大多数的信号都是非*稳的信号,比如生物电信号、股票市场的波动、传感器数据等等。在处理这样的非*稳信号时,小波变换就可以起到很好的作用。
(2)无法分辨频率出现时间的问题
傅里叶变换是通过将一个信号和一系列频率不同的正弦波相乘,就能够确定信号中存在哪些频率。如果信号中的某个频率和正弦波之间的点积(用于衡量两个向量/信号重叠的程度)导致振幅很大,就意味着这两个信号之间有很多的重叠,信号中就包含这个特定的频率。
但是傅里叶变换存在的一个问题就是,它只能告诉我们有哪些频率,却无法准确的告诉我们这些频率存在的具体的时间点。
为了解决这个无法分辨频率出现时间的问题,提出了短时傅里叶变换(Short-Time Fouier Transform)。
它的主要思想是在使用傅里叶变换前,通过相同的滑动窗口将原始的信号分割成几部分相等长度的信号(可能有重叠部分),在这些小的部分,将其看成*似*稳的信号,然后再使用傅里叶变换,这样我们不仅可以知道信号中存在哪些频率,而且还知道它们出现的时间点。例如假设我们将其分割为10部分,如果后面使用的傅里叶变换在第二部分探查到一种特殊的频率,我们就可以根据这个信息知道它存在于原始信号的2/10和3/10的中间部分。
为了解决短时傅里叶变换中出现的问题,就出现了小波变换(Wavelet Transform),它在时域和频域上都有相当高的分辨率,不仅可以告诉我们信号中存在哪些频率,同时还能告诉不同频率出现的具体时刻。
2、小波变换
小波变换(wavelet transform,WT)是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。
它的主要特点是通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩*移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。
小波变换的特点:
- 对于小频率值,频域分辨率高,时域分辨率低
- 对于大频率值,频域分辨率低,时域分辨率高
小波变换在频域分辨率和时域分辨率两者之间做了权衡:在与时间相关的特征上上,它在时域具有高分辨率;而在与频率相关的特征上,它在频域具有高分辨率。
小波变换的另一个优点是可以很好的处理突变信号,对于傅里叶变换来说,在处理突变信号时存在的吉布斯效应(对于这种变换突然而剧烈的信号,即使只有一小段变换,傅里叶变换也不得不用大量的三角波去拟合。)
不同于傅里叶变换只有正弦波,小波变换有许多不同类型的小波。小波族之间的不同,来自于对小波紧凑性和*滑性的权衡,它方便了我们根据自己的任务,从中选择特定的小波,在信号中寻找特征。
小波必须有如下的条件
- 有限的能量
- 均值零
- 可以正交也可以不正交
- 可以是双正交,也可以不是
- 可以是对称,也可以不是
- 可以是负数,也可以是实数
- 如果它是复数,通常分为表示振幅的实部和表示相位的虚部
- 被归一化为单位能量
第一个条件意味着它在时间和频率上具有局部性的;它是可积的,小波与信号的内积始终存在。
第二个条件意味着小波在时域中均值为零,在时域中频率为零时均值为零。这对于保证小波变换的可积性和计算小波变换的逆是必要的。
不同的小波
不同的小波族的图
,第一行包含4个离散小波,第二行包含4个连续小波。
http://wavelets.pybytes.com/ 可以查看不同的小波情况。
离散小波
离散小波变换在尺度和*移域上是离散的,但在时域上不是离散的。为了能够处理数字和离散信号,我们还需要在时域对小波变换进行离散化。这些形式的小波变换分别称为离散时间小波变换(Discrete-Time Wavelet Transform)和离散时间连续小波变换(Discrete-Time Continuous Wavelet Transform)
DWT作为过滤器库的含义;在随后的每一级,*似系数被划分为较粗的低通和高通部分,并在低通部分再次应用DWT。我们可以看到,我们的原始信号现在被转换成几个信号,每个信号对应不同的频段。这种在不同尺度上分析信号的思想也称为多分辨率/多尺度分析,以这种方式分解信号也称为多分辨率分解,或子带编码。
总体来说小波变换具有如下的优点:
• 可以覆盖整个频域
• 通过选择合适的滤波器,可以极大的减小或去除所提取不同特征之间的相关性
具有“变焦”的特性,可以根据频率的高低调整窗口,在低频可用高频率分辨率和低时间分辨率,在高频段可用低频率分辨率和高时间分辨率
3、小波的应用
小波是多分辨率理论的分析基础。而多分辨率理论与多种分辨率下的信号表示和分析有关,其优势很明显--某种分辨率下无法发现的特性在另一个分辨率下将很容易被发现。从多分辨率的角度来审视小波变换,虽然解释小波变换的方式有很多,但这种方式能简化数学和物理的解释过程。
- harr小波图像分解
- 小波去噪
- 小波边缘检测
4、PyWavelets库
安装
pip install PyWavelets
导入库并打印存在的小波类型
import pywt
print(pywt.families(short=False))
4、小波变换的图像融合
https://blog.csdn.net/u013165921/article/details/78159321
有关小波的几个术语及常见的小波基介绍