Imagetracer is a free and open source (Public Domain) library and application which might be useful. Disclaimer: I made this.
https://github.com/jankovicsandras/imagetracerjava
You can get an object with path coordinates like this:
import jankovicsandras.imagetracer.ImageTracer;
...
HashMap<String,Float> options = new HashMap<String,Float>();
options.put( "ltres", 2f ); // Linear error treshold
options.put( "qtres", 2f ); // Quadratic spline error treshold
IndexedImage myimage = ImageTracer.imageToTracedata( "input.jpg", options, null );
ArrayList<ArrayList<ArrayList<Double[]>>> mylayers = myimage.layers;
... process coordinates in mylayers
where
ArrayList<ArrayList<ArrayList<Double[]>>> layers
means roughly
ArrayList of color layers < ArrayList of paths < ArrayList of line segments < double x, y, type:straight or quadratic spline > > >