2026a

# dualtree2


Kingsbury Q-shift 二维双树复小波变换

函数库: TyWavelet

# 语法

A, D, = dualtree2(X)
A, D, Ascale = dualtree2(X)
___ = dualtree2(X; Name = Value)

# 说明

A, D, = dualtree2(X) 使用Kingsbury移q滤波器返回X的二维双树复小波变换(DTCWT)。输出A是实值的最终级缩放(低通)系数矩阵。输出D是复值小波系数的L × 1单元数组,其中L是变换的级别。对于D的每个元素有六个小波子带。

默认情况下,得到的DTCWT一直到底层(log2(min(H, W))),其中H和W分别表示X的高度(行维)和宽度(列维)。如果X的任何行或列维度是奇数,则通过围绕最后一行或列进行反射,X沿着该维度进行扩展。

默认情况下,dualtree2对级别1使用长度为5(缩放滤波器)和7(小波滤波器)的近对称双正交小波滤波器对,对于大于或等于2的级别使用长度为10的正交q移希尔伯特小波滤波器对。


A, D, Ascale = dualtree2(X) 返回每一级的尺度(低通)系数。


___ = dualtree2(X; Name = Value) 使用名称=值参数指定其他选项。例如,LevelOneFilter="antonini"指定(9,7)-tap antonini滤波器作为双正交滤波器用于一级分析。示例

# 示例

二维双树复小波变换

加载灰度图像。

using TyWavelet
using TyBase
using TyPlot
pkg_dir = pkgdir(TyWavelet)
source_path = pkg_dir * "/examples/Resources/mask.mat"
load(source_path)
c1 = imagesc(X)
colormap(c1, "gray")

得到双树复小波变换后的图像分辨率降至4级。

a, d = dualtree2(X; Level=4)

显示最后一级缩放(低通)系数。

c2 = imagesc(a)
colormap(c2, "gray")

以最精细的尺度显示树B小波系数。每个子图标题表示特定的子带(“H”表示高通,“L”表示低通)。

orientation = ["HL", "HH", "LH", "LH", "HH", "HL"]
figure(; figsize=[5.6, 8])
for k in 1:6
    subplot(3, 2, k)
    c = imagesc(imag(d[1][:, :, k]))
    title("Orientation: " * orientation[k])
    xticks([])
    yticks([])
    colormap(c, "gray")
end

# 输入参数

X - 输入数据
实值矩阵(默认) | 实值3d数组 | 实值4d数组

输入数据,指定为实值矩阵、3-D数组或4-D数组。X是一个实值的H × W × C × N数组,其中H为高度或行维,W为宽度或列维,C为通道数,N为图像数。X必须在每个行和列维度中至少有两个样本。。

# Name = Value 参数对

指定可选的参数对为 Name1 = Value1, ..., NameN = ValueN,其中 Name 是参数名称,Value 是相应的值。Name = Value 参数必须出现在其他参数之后,但参数对的顺序并不重要。

Level - 分解层级
正整数

分解层次,指定为小于或等于floor(log2(min(H, W)))的正整数,其中H和W分别表示X的高度(行维)和宽度(列维)。如果未指定,Level默认为floor(log2(min(H,W)))。4-D阵列

LevelOneFilter - 双正交滤波器
"nearsym5_7"(默认)| "nearsym13_19" | "antonini" | "legall"

在第一层级分析中使用的双正交滤波器,指定为:

"legall" - LeGall 5/3 滤波器 [3]

"nearsym13_19" - (13, 19) 阶准正交滤波器 [2]

"nearsym5_7" - (5, 7) 阶准正交滤波器 [1]

"antonini" - (9, 7) 阶 Antonini 滤波器 [1]

默认情况下,dualtree 使用 "nearsym5_7",即长度为 5(尺度滤波器)和 7(小波滤波器)的准对称双正交滤波器对。

FilterLength - 正交 Hilbert Q-shift 分析滤波器对的长度
10(默认)| 6 | 14 | 16 | 18

默认情况下,dualtree2使用"nearsym5_7",长度为5(缩放滤波器)和7(小波滤波器)的近对称双正交滤波器对。

# 输出参数

A - 最后一级的近似系数
实值矩阵

最后一级的近似系数,作为实值矩阵返回。

D - 小波系数
元组

小波系数,作为复值小波系数的L长度的元组返回,其中L是变换的级别。系数的实部来自树A,虚部来自树B。对于D的每个元素,有六个小波子带。

Ascale - 近似系数
元组

变换的每个级别的近似系数,作为实值缩放(低通)系数的L长度的元组返回,其中L是变换的级别。如果X是一个矩阵,则D的每个元素都是一个列维等于X的列维的矩阵。

# 参考文献

[1] Antonini, M., M. Barlaud, P. Mathieu, and I. Daubechies. “Image Coding Using Wavelet Transform.” IEEE Transactions on Image Processing 1, no. 2 (April 1992): 205–20. https://doi.org/10.1109/83.136597.

[2] Kingsbury, Nick. “Complex Wavelets for Shift Invariant Analysis and Filtering of Signals.” Applied and Computational Harmonic Analysis 10, no. 3 (May 2001): 234–53. https://doi.org/10.1006/acha.2000.0343.

[3] Le Gall, D., and A. Tabatabai. “Sub-Band Coding of Digital Images Using Symmetric Short Kernel Filters and Arithmetic Coding Techniques.” In ICASSP-88., International Conference on Acoustics, Speech, and Signal Processing, 761–64. New York, NY, USA: IEEE, 1988. https://doi.org/10.1109/ICASSP.1988.196696.

# 另请参阅

dualtree | idualtree2 | dualtree3 | qbiorthfilt | qorthwavf |