[GRASS-user] Classification of segments

Moritz Lennert mlennert at club.worldonline.be
Tue Nov 12 11:14:49 PST 2013

Dear Ferdinando,

[cc'ing the grass-user list. I suggest to hold such discussions there,
as more people can participate]

On 11/11/13 14:04, Ferdinando Urbano wrote:
> my name is Ferdinando Urbano. I found your email address on some
> threads on the web. I am writing to you because i am working on a
> project related to forest cover change assessment in Nepal. I want to
> test some possible approach that should then implemented by local
> technicians. I would like to propose an open source software platform
> (i.e. no e-cognition). I tested visual interpretation and
> segmentation (with i.segment) + visual classification (and
> verification). The results are really good. i would like to try to
> run an automatic (or, if not possible) supervised classification of
> my segments to compare the results. As far as i can see, this option
> is not yet available, at least as "simple" tool (e.g. feeding
> i.maxlik with the result of i.segment).

One technique I've thought about, but not tried, yet, is the following:

- i.segment
- r.to.vect to create vector polygons of segments
- fill the attribute table of the vector map with variables of interest
- for each variable of interest, create a raster map (v.to.rast) using
the values from the attribute table - each pixel of a given polygon
would have the same value
- group all these raster maps with i.group
- run i.cluster on the group

I've also posted a script [1] to show the process for classification
based on i.segment and v.class.mlpy [1]. MLPY also contains unsupervised
classification, so it should be possible to integrate that into

If you follow that thread you'll that Pietro Zambelli is working on a
more integrated system.

> I see from various posts that you worked on this kind of approach,
> so I ask you some suggestion. i also sent an email to Eric Momsen
> (developer of i.segment) to check if he is planning any new feature.
> As said, I do not need just a way to do it, but a way that is simple
> for users, otherwise local technicians will not be able to manage
> it. i hope you have some recommendation for me, if not, thanks anyway
> for your attention.

I would say that you are just a bit too early to find a complete
easy-to-use interface. We're not far from it, and with the elements
already in place it should not be hard to cook up a module with
graphical interface which combines most of the elements, but it's not
there, yet.

Other options you might want to explore:

- combine the segmentation in GRASS (or other tools) with classification
modules in R. This is also something you can quite easily script and so
your technicians would just have to run the script.

- other free software tools exist for segmentation / classification,
such as Orfeo Toolbox, SAGA, Opticks, etc

- QGIS has the semi-automatic classification plugin [2] which also looks
quite nice (haven't tested it myself, yet), but AFAIK, it does not offer
segmentation and object-based classification.

In any case, keep us posted about your experiences !


[1] http://lists.osgeo.org/pipermail/grass-user/2013-October/069189.html

More information about the grass-user mailing list