Old Hampshire Mapped
It is interesting to ask what tints were used by a map
colourist; what paints did he have in his paint box?
Early printed maps were printed in 'black' ink on 'white'
paper and coloured afterwards. They might have been coloured
at any time from their printing to today. The colours found
now are not a guide to the original map maker or publisher.
But there still might be something to learn from the
IMGCOLOR.exeOne of the ways of investigating the colours is to study an image file, using a computer program, to list and count the colours of the pixels. A very basic program has been written, IMGCOLOR.exe (using Borland Delphi/Pascal), to do the looking and counting. The program is a working tool, and is not written to be clever or fast! It reads a source file, which must be a Microsoft bitmap (.bmp) image file; it looks at each pixel in turn, using the RGB values to find the Hue, Saturation, and Brightness of the pixel, Hue expressed in degrees on a colour circle from 0 to 359, Saturation and Brightness as percentages 0 to 100; it produces a histogram of frequency of each hue in the image and tries to spot maxima in the frequency curve. There are two refinements; a small image of just a clean bit of paper copied out of the whole map image can be made. If this file exists the program ignores all pixels which look like paper, and counts the coloured bits only. Secondly the program is set to ignore pixels which are dark and have a very low saturation, the printing ink.
If you look closely at a digitised image you can see that
the whole approach is wrong: the measurements are made from
the scanned image not from the original map. The image has
a whole lot of computer artefacts in the image, from
the dithering procedures that make a good image from a
For example, look at an enlarged piece of Norden 1607, the label Winchester and a settlement symbol to the east:-
The dot in the middle of the settlement symbol has a centre made up of rows of 3, 4, 4 and 2 dots - the dark bits. The RGB values and hues of these pixels are:-
R/G/B = 65/85/42 hue 88and a pixel in the tint of a green border has values:-
R/G/B = 65/79/46 hue 85An algorithm to miss the first, which should not be counted, will miss the second, which should be counted.
The aim of the program is to count hues, ignoring their brightness and saturation. In a colour area the colours are likely to include pixels of a hue at various levels of saturation. Maybe counting the more saturated ones will be enough. The program setting to ignore low saturation pixels will probably ignore most of the dithering pixels.
Dithering is a procedure that adjusts the colours of neighbouring pixels to give an illusion of a wanted colour (I quote). It might appear right to the eye, but is wrong in the numbers.
|RGB / HSB||
Computer images are made up of pixels. Onscreen these are
each made by adding the light of three CRT phosphors (or
the equivalent), Red, Green, and Blue, which can have
brightness values from 0 to 255. The pixel's colour is in
a three dimensional colour space defined by coordinates
(R,G,B). There are other colour spaces which define
colours. One of these is the Hue, Saturation, Brightness or
HSB model. The colour is expressed as having a Hue given a
value from 0 to 359 degrees on a 'colour wheel', Saturation
and Brightness each from 0 to 100 percent. This program
is interested in the Hue value only, what tints made up the
paint box of the colourist, not how they were applied to
It was decided to work with .bmp images because they are not compressed and they have a reasonably simple structure - so my programming problems were fewer!
The file structure is explained in
Murray, James D & vanRyper, William: 1994: Encyclopedia of Graphics File Formats: O'Reilly and Associates (Sebastopol, California, United States):: ISBN 1 56592 058 9; beware, there is at least one error in their explanationand the algorithm to convert between RGB and HSB colour spaces was found on the internet at:-
The image file to be processed by IMGCOLOR.exe must have
a filename on the pattern:-
[Mkr].bmpwhere [Mkr] is a four character identifier (in HantsMap this is the 'short maker code'). Eg:-
Nrd1.bmpThe paper image file must have filename:-
[Mkr]_pap.bmpRunning the program all you do is select the image file: then wait, the process is not quick, there is a lot to do.
The results from IMGCOLOR.exe are output to an html file
and image files, filenames:-
Nrd1_col.htmNrd1_col.bmp is a histogram of the hues in a tinted copy of John Norden's map of Hampshire, 1607, without counting 'paper' colour.
Nrd1pcol.bmp is a histogram of the hues in a the paper of the map, which have been discounted.
Nrd1h070.bmp is a colour patch for one of the local maxima in the frequency distributaion.
No attempt has been made to calibrate the system.
The characteristics of the scanner, image software,
archiving procedures, etc are all unknowns. The absoloute
values of the hues found are not reliable.
The pattern of hues may still have some meaning, if one colouring is compared with another.
Looking at trial images ('EG' series) it is possible to
be convinced that the software is finding useful
Looking at the title cartouche series, 5 differently coloured copies of Robert Morden's map of Hampshire, 1695, ('M2' series) it is less easy to be convinced that the software is finding anything meaningful.
The software has been run on a few maps in the Map Collection, but little has been done with the results. Writing the software has prompted a lot of interesting thinking, and that alone was worthwhile. But: here I stop.