# idwt2
单级二维离散小波逆变换
函数库: TyWavelet
# 语法
x = idwt2(cA,cH,cV,cD,wname)
x = idwt2(cA,cH,cV,cD,LoR,HiR)
x = idwt2(___,s)
x = idwt2(___;extmode=mode)
x = idwt2(cA,[],[],[],___)
x = idwt2([],cH,[],[],___)
x = idwt2([],[],cV,[],___)
x = idwt2([],[],[],cD,___)
# 说明
x = idwt2(cA, cH, cV, cD, wname)基于近似矩阵cA和细节矩阵cH、cV和cD(分别为水平、垂直和对角线),使用wname指定的小波进行单级二维小波重构。有关其他信息,请参见dwt2。 示例
设sa = size(cA) = size(cH) = size(cV) = size(cD),设lf等于与wname相关联的重构滤波器的长度。如果DWT扩展方式为周期化,则x, sx的大小等于2sa。对于其他扩展模式,sx = 2sa-lf+2。有关其他信息,请参见dwtmode。
x = idwt2(cA, cH, cV, cD, LoR, HiR)分别使用指定的低通和高通小波重构滤波器LoR和HiR。
x = idwt2(___, s)使用任何前面的语法返回重建的大小为5的中心部分。
x = idwt2(___; extmode=mode)使用任何前面的语法返回重建的大小为5的中心部分。计算小波重构使用指定的扩展模式模式。有关其他信息,请参见dwtmode。此语法可以与前面的任何语法一起使用。
x = idwt2(cA, [], [], [],___)返回基于近似系数矩阵cA的单级重构近似系数矩阵x。
x = idwt2([], cH, [], [],___)返回基于水平细节系数矩阵cH的单级重构近似系数矩阵x。
x = idwt2([] ,[], cV, [],___)返回基于垂直细节系数矩阵cV的单级重构近似系数矩阵x。
x = idwt2([], [], [], cD,___)返回基于对角细节系数矩阵cD的单级重构近似系数矩阵x。 示例
# 示例
单级二维小波重建
加载一个图像
using TyWavelet
using TyBase
pkg_dir = pkgdir(TyWavelet)
source_path = pkg_dir * "/examples/Resources/woman.mat"
load(source_path)
工作区变量X包含图像。使用db4小波对X执行单级小波分解。
cA1, cH1, cV1, cD1 = dwt2(X, "db4")
用第1层的系数对X的逆分解。
A0 = idwt2(cA1, cH1, cV1, cD1, "db4")
检查是否完美重建
maximum(abs.(X[:] .- A0[:]))
3.417639504732506e-10
细节系数的小波重构
加载一个图像
using TyWavelet
using TyBase
using TyPlot
pkg_dir = pkgdir(TyWavelet)
source_path = pkg_dir * "/examples/Resources/tartan.mat"
load(source_path)
c1 = imagesc(X)
colormap(c1, gray())
cA, cH, cV, cD = dwt2(X, "db4")
xrecD = idwt2([], [], [], cD, "db4")
xrecHD = idwt2([], cH, [], cD, "db4")
subplot(1, 2, 1)
c2 = imagesc(xrecD)
title("Diagonal")
subplot(1, 2, 2)
c3 = imagesc(xrecHD)
title("Horizontal-Diagonal")
colormap(c2, gray())
colormap(c3, gray())
# 输入参数
cA - 近似系数数组
近似系数,指定为数组。cA是dwt2的输出。
cH - 水平细节系数数组
水平细节系数,指定为一个数组。cH 是 dwt2 的输出。
cV - 垂直细节系数数组
垂直细节系数,指定为一个数组。cV 是 dwt2 的输出。
cD - 对角线细节系数数组
对角线细节系数,指定为一个数组。cD 是 dwt2 的输出。
wname - 小波字符串标量
用于计算单级离散小波逆变换(IDWT)的小波,指定为字符串标量。该小波必须被 wavemngr 识别。关于每个系列中可用的小波,见 wfilters。指定的小波必须是用于获得近似系数和细节系数的同一小波。
LoR, HiR - 小波重建滤波器偶数长度的实值向量
小波重建滤波器,指定为一对偶数长度的实值向量。LoR 是低通重建滤波器,HiR 是高通重建滤波器。LoR 和 HiR 的长度必须相等。
l - 中心部分尺寸2元素向量
要返回的重构的中心部分的大小,指定为两个元素的正整数向量。S必须小于x的尺寸。
mode - DWT 扩展模式字符串标量
小波重建中使用的 DWT 扩展模式,以字符串标量的形式指定。关于可能的扩展模式,见 dwtmode。
注意
如果cA、cH、cV和cD分别来自索引图像分析或真彩色图像分析,则它们分别是m × n矩阵或m × n × 3数组。
# 算法
图像的二维小波重构算法与一维情况类似。二维小波和标度函数由一维小波和标度函数的张量积得到。这种二维逆DWT导致从四个分量重建j层的近似系数:j+1层的近似,以及三个方向(水平、垂直和对角线)的细节。下图描述了图像的基本重建步骤。
其中:
- 上采样列:在奇数索引的列上插入零 - 上采样列:在奇数索引的行上插入零 - 与滤波器X卷积的行 - 与滤波器X卷积的行
# 参考文献
[1] Daubechies, I. Ten Lectures on Wavelets. CBMS-NSF Regional Conference Series in Applied Mathematics. Philadelphia, PA: Society for Industrial and Applied Mathematics, 1992.
[2] Mallat, S. G. “A Theory for Multiresolution Signal Decomposition: The Wavelet Representation.” IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 11, Issue 7, July 1989, pp. 674–693.
[3] Meyer, Y. Wavelets and Operators. Translated by D. H. Salinger. Cambridge, UK: Cambridge University Press, 1995.