No GRASS-GIS versão 7.0 (um pacote FOSS - não apenas no freeware), ainda a versão de desenvolvimento, apesar de estar totalmente funcionando e mais ou menos para os fluxos de trabalho de produção prontos, existe o i.segment . Saiba mais sobre o módulo e sua implementação em uma página dedicada ao GRASS-Wiki (junto com alguns exemplos de capturas de tela ).
No seu estado atual, o módulo faz (conforme o manual do módulo):
This segmentation algorithm sequentially examines all current segments in the raster map. The similarity between the current segment and each of its neighbors is calculated according to the given distance formula. Segments will be merged if they meet a number of criteria, including:
1. The pair is mutually most similar to each other (the similarity distance will be smaller than to any other neighbor),
2. The similarity must be lower than the input threshold. The process is repeated until no merges are made during a complete pass.