I read the book Image Processing, Vision and Machine Vision and find the concept Fourier descriptors hard to understand, although literally its derivation is somewhat reasonable. Can anyone give me a detailed picture about what's really going on about it? Thx.


Fourier Descriptors (FD) are a way of representing the shape of a closed curve at varying forms of detail. In the following discussion, I am assuming that you are familiar with the one-dimensional Discrete Fourier Transform (DFT).

FD are essentially the application of the Fourier Transform to decompose the form of the curve into a sum of shapes that look roughly like circles whose radius has been modulated. In fact, the equivalent of the zero frequency component (or DC) is a perfect circle with a radius equal to the average distance to the centroid of the curve.

We can continue thinking in terms of superimposed "squiggly" circles that result to a complex curve, or, we can "transfer" the curve to a more familiar setting of a "waveform".

To do this, first estimate the centroid of the curve by calculating the arithmetic mean of the curve's coordinates.

Now imagine that you have the familiar $x,y$ coordinate system but "wrapped" around the curve. The $x$ axis now corresponds to some angle ($\theta$) around the curve and the $y$ axis now corresponds to the distance between a point on the curve and the centroid at angle $\theta$.

If you apply a polar to cartesian coordinate transform that takes the pair of $\theta, r$ coordinates to the familiar $x,y$ space, you will have unfolded that axis to its more familiar "rectangular" shape.

So, now, you have a very simple one-dimensional waveform whose overall shape you can analyse by using (usually) just a few FDs.

Just two further points that might not be immediately obvious:

  1. The curve has to be closed because the Fourier Transform is defined over periodic waveforms.

  2. The way to "input" the curve to the Fourier Transform is by taking its $x,y$ points to form a complex number (e.g. $z= x \cdot i +y$). After this, you apply the Fourier Transform on that set of complex numbers (i.e. a series of $z_k$ where $k \in \left[0 .. N-1\right]$ and $N$ being the total number of $x,y$ points that the curve is composed of.

Hope this helps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.