【发布时间】:2015-05-10 14:17:40
【问题描述】:
我正在尝试对图像进行一些小波分析,我需要一些多尺度分解的方法。我正在试验 PyWavelets 包。但是,dwt2 和 idwt2 方法仅提供单一比例。我可以迭代这些方法,并将单尺度分解应用于图像的较小区域;如果dwt2 的结果由 4 个数组组成:
---------
| A | B |
---------
| C | D |
---------
然后我可以将dwt2 应用于子数组A 等等。然而,这里的困难在于许多小波产生的数组比输入大。请注意,在PyWavelets example page 上使用的小波是db1。但是如果我们尝试db2:
>>> import pywt
>>> x = [3, 7, 1, 1, -2, 5, 4, 6]
>>> db2 = pywt.Wavelet('db2')
>>> X = pywt.wavedec(x, db2)
>>> print X[0]
[ 5.65685425 7.39923721 0.22414387 3.33677403 7.77817459]
>>> print X[1][0]
-2.44948974278
>>> print X[1][1]
-1.60368225335
>>> print X[1][2]
-4.44140056379
所以我似乎无法使用db1(即 Haar 小波)执行多级分解除了。
我知道其他包中有各种小波实现,但我不知道它们是否提供了对多维数据的稳健多尺度分解。我最好的选择是什么?
【问题讨论】:
标签: python image-processing signal-processing wavelet pywavelets