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.
1 Answer
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:
The curve has to be closed because the Fourier Transform is defined over periodic waveforms.
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.