The Fourier descriptors of a shape are calculated as follows.

1. Find the coordinates of the edge pixels of a shape and put them in a list in order, going clockwise around the shape.

2. Define a complex-valued vector using the coordinates obtained. For example:

.

3. Take the discrete Fourier transform of the complex-valued vector.

Fourier descriptors inherit several properties from the Fourier transform.

4. Translation invariance: no matter where the shape is located in the image, the Fourier descriptors remain the same.

5. Scaling: if the shape is scaled by a factor, the Fourier descriptors are scaled by that same factor.

6. Rotation and starting point: rotating the shape or selecting a different starting point only affects the phase of the descriptors.

Because the discrete Fourier transform is invertible, all the information about the shape is contained in the Fourier descriptors. A common thing to do with Fourier descriptors is to set the descriptors corresponding to values above a certain frequency to zero and then reconstruct the shape. The effect of this is a low-pass filtering of the shape, smoothing the boundary. Since many shapes can be approximated with a small number of parameters, Fourier descriptors are commonly used to classify shapes.

The slider lets you choose how many terms to use in the reconstruction. With more terms, the shape looks more like the original. With fewer terms, the shape becomes smoother and rounder.

The basic method of Fourier descriptors is discussed in R. C. Gonzalez and R. E. Woods,

*Digital Image Processing*, Englewood Cliffs, NJ: Prentice Hall, 2007.

An alternative method of boundary simplification that is useful when the boundaries are specified by polygons is presented in the Demonstration

Iterative Polygon Simplification by Seth J. Chandler.

The images are from two royalty-free clip-art collections:

* Art Explosion 300,000* by Nova Development (2004) and

*Clipart & More 3 Million* by IMSI Design (2006).