Wavelet Toolbox |

Multilevel 2-D wavelet decomposition

**Syntax **

**Description **

`wavedec2`

is a two-dimensional wavelet analysis function.

`[C,S] = wavedec2(X,N,`

'

'*wname*`)`

returns the wavelet decomposition of the matrix `X`

at level `N`

, using the wavelet named in string '

' (see *wname*`wfilters`

for more information).

Outputs are the decomposition vector `C`

and the corresponding bookkeeping matrix `S`

.

`N`

must be a strictly positive integer (see `wmaxlev`

for more information).

Instead of giving the wavelet name, you can give the filters.

For `[C,S] = wavedec2(X,N,`

Lo_D,Hi_D`)`

, Lo_D is the decomposition low-pass filter and Hi_D is the decomposition high-pass filter.

`C = [ A(N) | H(N) | V(N) | D(N) | ... `

`H(N-1) | V(N-1) | D(N-1) | ... | H(1) | V(1) | D(1) ].`

where `A`

, `H`

, `V`

, `D`

, are row vectors such that

`A`

= approximation coefficients

`H`

= horizontal detail coefficients

`V`

= vertical detail coefficients

`D`

= diagonal detail coefficients

Each vector is the vector column-wise storage of a matrix.

`S(1,:) `

= size of approximation coefficients(`N`

)

`S(i,:) `

= size of detail coefficients(`N-i+2`

) for `i `

= 2, ...`N+1`

and `S(N+2,:) = size(X)`

**Examples**

% The current extension mode is zero-padding (see

`dwtmode`

). % Load original image. load woman; % X contains the loaded image. % Perform decomposition at level 2 % of X using db1. [c,s] = wavedec2(X,2,'db1'); % Decomposition structure organization. sizex = size(X) sizex = 256 256 sizec = size(c) sizec = 1 65536 val_s = s val_s = 64 64 64 64 128 128 256 256

**Algorithm **

For images, an algorithm similar to the one-dimensional case is possible for two-dimensional wavelets and scaling functions obtained from one-dimensional ones by tensor product.

This kind of two-dimensional DWT leads to a decomposition of approximation coefficients at level* j *in four components: the approximation at level* j*+1, and the details in three orientations (horizontal, vertical, and diagonal).

The following chart describes the basic decomposition step for images:

So, for *J*=2, the two-dimensional wavelet tree has the form

**See Also**

`dwt`

, `waveinfo`

, `waverec2`

, `wfilters`

, `wmaxlev`

**References**

Daubechies, I. (1992), *Ten lectures on wavelets*, CBMS-NSF conference series in applied mathematics. SIAM Ed.

Mallat, S. (1989), "A theory for multiresolution signal decomposition: the wavelet representation," *IEEE Pattern Anal. and Machine Intell*., vol. 11, no. 7, pp. 674-693.

Meyer, Y. (1990), *Ondelettes et opérateurs*, Tome 1, Hermann Ed. (English translation: *Wavelets and operators*, Cambridge Univ. Press. 1993.)

wavedec | wavedemo |