python小波变换 wavedec2函数 各个返回值详解
python小波变换 wavedec2函数 各个返回值详解
网上找了好多文章都没有提到这个东西,没有说明 wavedec2 函数各个返回值究竟是什么意思
我们先看看 wavedec2 函数的大概形式,
pywt.wavedec2(data, wavelet, mode=’symmetric’, level=None, axes=(-2, -1))
data: 输入的数据
wavelet: 小波基
level: 尺度(要变换多少层)
return: 返回的值要注意,每一层的高频都是包含在一个tuple中,例如三层的话返回为 [cl, (cH3, cV3, cD3), (cH2, cV2, cD2), (cH1, cV1, cD1)]
单单这么看可能不太好懂,所以来个实例,我的目的是把11.xlsx 里面的灰度图像进行3层的小波变换,并要提取变换后的低频分量的系数和高频分量的系数
import pywt
import xlrd
import numpy as np
def excel2matrix(path): # 把xlsx文件的数据变成np.array数组
data = xlrd.open_workbook(path)
table = data.sheets()[0]
nrows = table.nrows # 行数
ncols = table.ncols # 列数
datamatrix = np.zeros((nrows, ncols))
for i in range(nrows):
rows &