There’s a little by-product that came out of a project I had to do for a course called Computer Vision. We had to implement several feature detection and image classification algorithms. My code for the Generalized-Lloyd or Linde-Buzo-Gray Algorithm for vector quantization was easy to transform into a small library. I’m now providing this piece of software under LGPL license: projects/GenLloydLib-src.zip
The LBG-algorithm allows clustering of vectors of any dimension. This is helpful for example for image classification when using the SIFT or SURF algorithms. It might be also useful if you want to cluster a large amount of points on a map.