So I scanned some maps looking like the one below. I georeferenced and rectified the image and stored it as a .tif. Now my goal is to get a raster with one band with a value for each of the classes in the legend. If there would be no hatched legend entries I could simply use the colour of the classes, but now this dosent work. Any ideas how to solve this problem?
1 Answer
You need a decent image segmentation algorithm. I've used the Trainable Weka Segmentation function of the Fiji image processing system for this.
First, load the image, outline areas and add them to classes. Create a class for each land type, then add a few areas to each class. The more you create, the better the output will be.
Then you train the classifier and you can then see the result as a classified map:
This hasn't done too badly with the striped (and spotted) areas.
You also get the individual class probabilities. Here's the green-brown stripe probability (white=high):
You can save a trained classifier to run on a new image without extra training, assuming the new image uses the same colours and shadings.
-
-
1There are a lot of different classifiers (via the "Settings" button) and each of those has a lot of options. This is a very deep topic and you should probably do a lot of reading! You might have to do a lot of cleanup afterwards as well, and at some point it might be easier to digitise by hand! Commented Dec 21, 2020 at 12:38