Discrete Wavelets with Applications

073b - The Two-dimensional Daubechies-6 Wavelet Transform

Helmut  Knaust - Department of Mathematical Sciences, University of Texas at El Paso, hknaust@utep.edu
10/25/2010; last edit 11/02/2023.

SetDirectory[NotebookDirectory[]];<<DW.wl
SetDirectory["Images"];
SetDirectory["Grayscale"]

The D6 matrix

MatrixForm[D6exact[8]]

MatrixForm[D6exact[8].Transpose[D6exact[8]]]

N[MatrixForm[D6exact[8].Transpose[D6exact[8]]]]

MatrixForm[D6[8]]

MatrixForm[D6[8].Transpose[D6[8]]]

MatrixForm[Chop[D6[8].Transpose[D6[8]]]]

Applying the 2D Daubechies-6 Wavelet  Transform

pic=Import["chairs.png","Data"];
ImagePlot[pic]
ShannonEntropy[pic]

CEnergy[pic]

?D6WLT

TransformPlot[pc=D6WLT[pic],1]
ShannonEntropy[pc]

{r,c}=Dimensions[pic]
hwl[n_]:=D6WLT[pic,n]
ImagePlot[hwl[1][[1;;r/2,1;;c/2]],Scaled->True,PixelConstrained->2]
ImagePlot[hwl[1][[r/2+1;;r,1;;c/2]],Scaled->True,PixelConstrained->2]
ImagePlot[hwl[1][[1;;r/2,c/2+1;;c]],Scaled->True,PixelConstrained->2]
ImagePlot[hwl[1][[r/2+1;;r,c/2+1;;c]],Scaled->True,PixelConstrained->2]

Iterating the 2D Daubechies-6 Wavelet Transfrom

TransformPlot[pc=D6WLT[pic,3],3]
ShannonEntropy[pc]

CEnergy[pc]