I am a bit confused on the difference between the euclidean skeleton and the
medial axis for a 2d curve.
Their definitions seem to be identical.
Euclidean skeleton: the set of points X equidistant from at least two
points of the curve, provided the distances are global minima
Medial axis: the locus of the centers of all maximal discs contained in
the shape. A maximal disc contained in the shape is any circle with its
interior that is contained in the shape (i.e., has empty intersection
with the exterior of the shape) such that the circle touches the
boundary of the shape at two or more points
>So, is there any difference between the two?
The definitions are the same but the implementation is very different and so
may be the results when performed on a real image made of finite pixels. The
skeleton is typically generated by a sequential erosion, that takes off
boundary pixels until no more can be removed without breaking the feature into
parts. That produces a line of pixels that lies near (but not always exactly
on) the midline. For a simple example consider a feature that is 6 pixels wide.
Depending on which side you started the erosion, the skeleton would lie on
either column 3 or 4, either of which is slightly wrong. The medial axis on the
other hand produces a set of points (not pixels) so its location is exact. Of
course, when it is time to represent it on the image, it still has to be
reduced to pixels and so it may be displaced from the theoretical location but
some consistent rules for rounding off can be used, or an antialiased line can
be drawn. Also, while it is not part of the definition above, the medial axis
transform is often represented with values along the line that are the radii of
the inscribed circles at each location, so it contains more information about
the original feature "thickness" than the skeleton does. For all sorts of
reasons the medial axis is a better tool, but as a practical matter most real
programs generate the skeleton because it is faster. Regardless of how the
program generates the data, the name given to the result may be wrong (i.e.,
since "skeleton" is a more widely known term, that name may be used even if the
result is the MAT).