13

I am a vectors guy mostly, but for a current project I need to work with a bunch of old scanned paper maps (ww2 bomb damage maps for London, if your interested!)

We scanned and georeferenced the maps, and now want to create a tiled composite layer for serving on a website. We will cut out the borders obviously, thats not the issue here.

Problem is, that there are unsightly visual colour and brightness differences between map sheets. I am a bit at a loss as to how to equalise them so to give a coherent visual look. I read up on histogram equalising, but my current toolbox (Manifold GIS, GDAL, GeoServer) doesnt seem to have the required functionality.

Example of 4 scans already georeferenced:

Example of 4 scans already georeferenced

2
  • 1
    Do you have access to Adobe Photo Shop?
    – Mapperz
    Oct 12, 2012 at 13:36
  • No, but GIMP ...
    – petzlux
    Oct 12, 2012 at 13:41

3 Answers 3

5

This can be done in GIMP http://www.gimp.org/

You need to create a custom colour palette - this will read each image loaded and best match to the pixels forcing the colours to become a near as match.

You can also restrict contrast and brightness in a similar way

http://gimp.open-source-solution.org/manual/gimp-tool-brightness-contrast.html

http://docs.gimp.org/en/gimp-palette-dialog.html

For more advance detail you can use the Equalize function with the histogram

http://docs.gimp.org/en/gimp-layer-equalize.html

This can be automated with the script fu macro function.

http://www.squidoo.com/gimp-how-to-write-a-script-fu-macro

2
  • Opening a georreferenced image in GIMP will strip the locational information right off. This needs to be done in a GIS software. Sep 22, 2017 at 19:31
  • depends on formats, geotiffs can have .tfw files for referencing which is not affected by GIMP. Note there are plugins to help save this information. libregraphicsworld.org/blog/entry/…
    – Mapperz
    Sep 22, 2017 at 20:10
2

Another way is to use photo (panorama) stitching software. Hugin is an example of a free&open project that does just that and it comes bundled with enblend that can take care of brightness differences. No need to muck with palletes, just choose the image with the best lighting/colors as the source for blending. You would have to cut off the borders first though.

-1

A try that I would suggest is to use histogram equalize techniques.

There is techniques to map each pixel value to a new balanced value using cumulative distribution function (cdf).

For example, if you have clouds in image 1 and image 2 and it is the brighter object in the image.In both images they are white, but in mosaic you realize one cloud is a bit whiter than the other. In 1 the cloud mean pixel value is 200 therefore in 2 it is 240. Using cdf you could transform pixel values using the probablity of occurence, so that independent of the value if it is the brighter object it will be mapped to 255 pixel value.

it can bring all images to a common reference, improving contrast also.

I tried to script something in this topic a few time ago and is disponible in github for a glance. Feel free to ask.

https://github.com/rupestre-campos/histogram_equalize

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.