Discrete Wavelets with Applications

073c - D6 Edge Detection

Helmut  Knaust - Department of Mathematical Sciences, University of Texas at El Paso, hknaust@utep.edu
10/25/2010; last edits 04/10/2024

"Naive" Method Using the Daubechies-6 Wavelet Transform

SetDirectory[NotebookDirectory[]];<<DW.wl;<<DW1.wl
SetDirectory["Images2"];

pic=Import["skyline.JPG","Data"];
pic=NTSC[pic];
ImagePlot[pic]

We are applying the Daubechies-6 transform once :

p1=D6WLT[pic,1];
TransformPlot[p1,1]

{r,c}=Dimensions[p1];
p1[[1;;r/2,1;;c/2]]=Table[0,{i,1,r/2},{j,1,c/2}];
TransformPlot[p1,1]

p1=Transpose[D6[r]].p1.D6[c];
ImagePlot[p1,Scaled->True]

ImagePlot[Abs[p1],Scaled->True]
ImagePlot[255-Abs[p1],Scaled->True]

"Naive" Method Using the Daubechies-6 Wavelet Transform Twice

We are applying the Daubechies-6 transfrom twice :

p1=D6WLT[pic,2];
TransformPlot[p1,2]

{r,c}=Dimensions[p1];
p1[[1;;r/4,1;;c/4]]=Table[0,{i,1,r/4},{j,1,c/4}];
TransformPlot[p1,2]

p1=InvD6WLT[p1,2];
ImagePlot[p1,Scaled->True]

ImagePlot[Abs[p1],Scaled->True]
ImagePlot[255-Abs[p1],Scaled->True]

Using the Gonzalez and Woods Thresholding Algorithm for the Daubechies-6 Wavelet Transform

?D6Threshold

p2=D6Threshold[pic,1];
ImagePlot[Abs[p2],Scaled->True]
ImagePlot[255-Abs[p2],Scaled->True]