[GRASS-user] Semi-automatic classification of old thematic map
Moritz Lennert
mlennert at club.worldonline.be
Tue Nov 6 04:52:29 PST 2018
On 06/11/18 13:38, Markus Neteler wrote:
> Hi,
>
> On Tue, Nov 6, 2018 at 11:24 AM Giuseppe Cillis <giucillis at gmail.com> wrote:
>>
>> Dear all,
>> I would like to classify in a semi-automatic way, an old scanned thematic map of land use.
>> The different classes of land use are represented by polygons of different colors.
>> Which module can I use to identify the different land use classes?
>
> In this case it might make sense to apply OBIA techniques:
>
> https://grasswiki.osgeo.org/wiki/Image_classification#Object-based_classification_and_image_segmentation
>
> After segmentation, classification methods can be applied.
> Of course there may be other approaches as well.
Next to the info given by Markus, you could also try i.superpixels.slic
to segment the map.
If the colors of the different classes are very homogeneous internally
and you do not have to many land use classes, you could also do a simple
manual reclassification using r.mapcalc (assuming here that your scanned
map is imported as three bands red, green and blue):
if(map.red > 10 && map.res < 15 && map.green > 55 && map.green < 70 [etc],
1, # classify as class 1
if([add rules], # else
2,
if([add rules] # else
etc.
To homogenize your objects, you could also try to regroup very similar
(but not strictly identical) adjacent pixels into objects using r.clump
with the threshold parameter and then recreate homogenized red, green
and blue bands by calculating the mean of each band in each clump using
r.stats.zonal and then use some rule system as above, or some supervised
technique such as r.learn.ml or its OBIA equivalents to classify.
Moritz
More information about the grass-user
mailing list