Even more colour naming experiments...
I added conversions for the ISCC-NBS System of Color Designation (1939 onwards) based on Paul Centore's centroids. I was unable to reproduce Paul's results, so I cannot fill in the seven blanks for out-of-sRGB-gamut points:
- brilliant orange (4.5YR8.0/12.1)
- vivid orange yellow (9.0YR7.2/16)
- deep olive green (5.0GY2.0/8.0)
- deep green (6.0G2.3/9.1)
- deep bluish green (4.5BG2.3/9.0) and
- deep greenish blue (4.5B2.5/9.0)
The "extrapolated" sRGB centroids could still be useful when searching for colour names but need to be computed from the original Munsell data points. This is a fiendish problem that I hope to re-visit if and when I implement a colour library in Egg.
To improve upon the ad hoc naming scheme of ISCC-NBS, the Color Naming Scheme (CNS) (1982) sought to systematize the name construction. CNS produces a palette of 627 colours, some of which have rather ambiguous names:
- very dark vivid yellowish brown
- very light grayish bluish purple
It does, however, encompass the majority of the eleven basic colour terms:
- white
- black
- red
- green
- yellow
- blue
- brown
- purple
- pink
- orange
- grey
All but "pink" are included, though "brown" is somewhat shoe-horned in.
As pointed out elsewhere, CNS doesn't seem to have a reference implementation, so it's very difficult to judge results. I've implemented a simple HSL centroid scheme pending further information.
Thinking about the basic colour terms (and grating against the use of terms like "chartreuse"), I implemented HWB-51 as a cut-down version of HWB-51 but just using the eleven basic terms plus the following adjectives:
- deep
- dark
- light
- pale
- vivid
- dull
This produces 77 combinations, but only 55 are used as names ("vivid black" is not meaningful):
| black | - | - | - | - | - | - |
| grey | deep grey | dark grey | light grey | pale grey | - | - |
| white | - | - | - | - | - | - |
| pink* | - | - | light pink* | - | - | dull pink |
| red | deep red | dark red | light red* | pale red* | vivid red | dull red |
| orange | deep orange* | dark orange* | light orange | pale orange | vivid orange | dull orange |
| brown* | - | dark brown* | - | - | - | dull brown |
| yellow | deep yellow | dark yellow | light yellow | pale yellow | vivid yellow | dull yellow |
| green | deep green | dark green | light green | pale green | vivid green | dull green |
| blue | deep blue | dark blue | light blue | pale blue | vivid blue | dull blue |
| purple | deep purple | dark purple | light purple | pale purple | vivid purple | dull purple |
There are four pairs of synonyms:
- "pink" = "light red"
- "light pink" = "pale red"
- "brown" = "dark orange"
- "dark brown" = "deep orange"
This makes a total of 51 unique colours. Unfortunately, there's a large gap in the hue wheel between green and blue where cyan usually sits:
![]() |
| Hue ranges for HWB-51 names |
Perhaps turquoise could be added.
The light/dark split for orange/brown and pink/red works quite well in HWB:
![]() |
| Approximate partitioning of whiteness-darkness plane for HWB-51 (orange/brown) |
We could extend the idea to all sectors of the hue wheel:
- red → pink/red
- orange → orange/brown
- yellow → yellow/olive
- green → lime/green
- blue → blue/navy
- purple → violet/purple
However, now we're drifting away from using basic colour terms.
As an example of the various naming schemes, here are the results of looking up the web-safe colour "#FFCCFF":
| X11 | Thistle | 9.5 |
| RGB-125 | chantilly | 3.4 |
| RGB-64 | mauve | 8.7 |
| RGB-27 | orchid | 17.0 |
| ISCC-NBS | purplish white | 0.1 |
| CNS | very light strong purple | 1.4 |
| HSL-79 | white | - |
| HSV-79 | dull magenta | - |
| HWB-51 | pale purple | - |
| HWB-91 | pale magenta | - |
The final column is the ΔE*(2000) distance metric.
This is an extreme example because every name is different!


No comments:
Post a Comment