HCL: a color model that actually matches our perceptions (2011)
vis4.net
vis4.net
A keyword not mentioned in this article is "perceptual uniformity". It's the idea that the difference between two colours as measured by the Euclidean difference (of the L, a and b components) will be equal to the perceived difference between colours. That said, it turns out that this isn't quite as true as it was hoped for this colour space, and now there are much more complicated formula for this: https://en.wikipedia.org/wiki/Color_difference
With enough samples (and enough individual participants) you establish how many "statistically-significant distinguishable differences" exist along a given path through the color-space.
Then combine those and get a sort of topographic grid...
https://en.wikipedia.org/wiki/Blue%E2%80%93green_distinction...
> HSV and HCL
Should't it be "HSL" instead of "HCL"?
Here’s the first footnote in the Wikipedia article I wrote about HSL/HSV:
In Joblove and Greenberg’s (1978) paper first introducing HSL, they called HSL lightness "intensity", called HSL saturation "relative chroma", called HSV saturation "saturation" and called HSV value "value". They carefully and unambiguously described and compared three models: hue/chroma/intensity, hue/relative chroma/intensity, and hue/value/saturation. Unfortunately, later authors were less fastidious, and current usage of these terms is inconsistent and often misleading. http://dl.acm.org/citation.cfm?id=807362
[Worth noting: Joblove and Greenberg’s terms weren’t really consistent with standard color science definitions, but they were at least well defined at the top of their paper.]
<strike>
No. HSV and HSL are two very similar physically-based color models that only loosely map to perceived brightness and perceived grayness: https://en.wikipedia.org/wiki/HSL_and_HSV
They are nice cylindrical shapes because they are straightforward transformations of the RGB cube-shaped color space.
By contrast, HCL is a biologically-based close approximation of actual perceived brightness and perceived grayness: https://en.wikipedia.org/wiki/Lab_color_space
It has a funky shape because the frequency responses of the color-sensitive pigments in the cones of our eyes are complicated: https://en.wikipedia.org/wiki/CIE_1931_color_space#Color_mat...
</strike>
EDIT: Maybe if I could tilt the camera to look from above and below that would be better? Also it would be cool if it worked as a colour picker too. (Okay, that's enough feature requests for now...)
I created the tool while putting together a couple blog posts on how to use colours effectively in data visualizations. There are a number of links in those posts to other pickers out there: https://briancort.com/?p=146 https://briancort.com/?p=174
Color is one of those things (like music software, or image processing) that nerds get excited about but just can't stop tripping over themselves. Nice to see a sane approach here for a change!
If any of this were obvious, Adobe wouldn't have stupid color pickers and I wouldn't have three wildly diverging ways for adjusting audio volume and light levels in my home.
HCL actually seems to do very poorly interpolating towards black. Try #000000 and #AA0000. Apart from the missing color, the aparent hue changes significantly.
Edit: It's interesting to see how the different colour spaces react to the #000 being changed to #010000 or #000100 or #000001.
Let's take a dark purple, that's too light: 573F63 The tool converts it in place to 5P 3/4, then we just modify the value (second term) to 5P 1/4 and convert back to hex (#291333). All we have changed is the brightness, Hue and Chroma have stayed constant.
Hex values are horrible to work with, they contain no understandable info. 10Y 8/6 is going to be complementary to 10PB 8/6, without going outside equidistant chroma levels and having matching value.
Check out the demo in the readme.
http://www.compuphase.com/cmetric.htm
I think it's pretty telling that CIE and others have made a number of revisions to Lab color distance formulas over the years to the point of them having constants you tweak. There's no perfect out there yet, so I use a good enough that is simple to compute.
Some researchers have been looking into better grayscale filters that could pick out colour distinctions better, too.
PDF, in case you're interested: http://www.cs.northwestern.edu/~ago820/color2gray/color2gray...
Other than that, it looks very promising.
Side note: this is still an interesting topic though, and there is nothing wrong with exploring non-human modes of perception.
What is CIE Lab?