-1

I am implementing an android application that will verify signature images , decided to go with the Discrete wavelet transform method (symmlet-8) the method requires to apply the discrete wavelet transform and separate the image using low-pass and high-pass filter and retrieve the wavelet transform coefficients.

the equations show notations that I cant understand thus can't do the math easily , also didn't know how to apply low-pass and high-pass filters to my x and y points.

is there any tutorial that shows you how to apply the discrete wavelet transform to my image easily that breaks it out in numbers?

thanks alot in advance.

TheCodeArtist
  • 21,479
  • 4
  • 69
  • 130
abuasis
  • 94
  • 1
  • 2
  • 5

1 Answers1

5

From a high level view point, you first extract the data of your RGB image (typically splitting the 3 channels). Then, for each channel, you split your image into 4:

Low Pass Vertical+Low Pass Horizontal in the top left corner

Low Pass Vertical+High Pass Horizontal in the top right corner

High Pass Vertical+Low Pass Horizontal in the lower left corner

High Pass Vertical+High Pass Horizontal in the lower right corner

You can obtain this result by doing 2 passes (1 vertical and 1 horizontal). Then you iterate several times, applying the filter to the top left corner, to obtain the final result (pyramid). Finally, you re-combine the color channels.

Take a look at the code here (you can ignore the RGB<->YUV color transform): http://code.google.com/p/kanzi/source/browse/java/src/kanzi/test/TestDWT2.java

and here for the implementation of the 2D Wavelet transform: http://code.google.com/p/kanzi/source/browse/java/src/kanzi/transform/DWT_CDF_9_7.java (Discrete Wavelet Transform Cohen-Daubechies-Fauveau 9/7 for 2D signals)

The transform is different from yours (so the implementation details differ, but the general algorithm applies).

That should be enough info to get you started.

flanglet
  • 564
  • 4
  • 11