The output data may be scaled by 1/N, or not scaled at all. The default is to not scale the data at all. The only difference between a forward and a reverse Hadamard Transform is the scaling factor, so this routine functions as both a forward and reverse transform provided that one of the transforms (forward OR reverse) is set to scale by 1/N and the other performs no scaling.
The Following references were used in creating this program :
1. "Digital Image Processing, Second Edition"
Rafael C. Gonzalez
Paul Wintz
Addison-Wesley Publishing Company, Reading Massachusetts, 1987
2. "The C User's Journal", July 1989, "The Fast Walsh Transform", p101
Ian AshDown
vfht -i input.image -o hadamard.domain.imageThis command performs a fast Hadamard transform on the image contained in the viff file "input.image" and returns the output in another viff file called "hadamard.domain.image".
If your input image had dimensions 4 row by 4 columns, and the image had a constant value as shown below
input image = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
The output would be this
output image = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
Because the input image was simply the first of the Hadamard basis functions with magnitude = 1.