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?
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.