1. A method using a computer for segmenting an image into a small number of homogeneous regions on the basis of the colour, the method comprising the steps of: 1. Digitising a source image to generate a digitised image file, comprising an n-dimensional map of m-tuples, each of which represents the colour value at that point in the image. 2. Forming an m-dimensional histogram of colour frequency in the digitised image file. 3. Sorting the entries in the histogram by height. 4. Choosing a point that has the highest histogram value attained by any unlabelled point. 5. Assigning a unique label to this point as follows: i. If no previously labelled point is adjacent, assign a new label and geodesic distance 0. ii. If there are adjacent elements with the same label, assign this label and determine the geodesic distance to be the same (if histogram value is the same) or one greater than (otherwise) the least value held by the neighbour having the highest histogram value. iii. If there are neighbours that have different labels, ignore this point at present. 6. Finding any other points having the same height and treating them as per 5. 7. Assigning to each remaining point at this level (as ignored at 5iii) (i.e. each point which is not uniquely connected) the label of whichever of its neighbours has the lowest geodesic distance. 8. Repeating steps 4 to 7 until all points within the feature space have been assigned a label. 9. Assigning to each pixel in the image the label that is found for that combination of component values within the feature space. 10. Giving each region of uniform labels a unique label to identify that segment.