In the last few days, I tried out three renowned color difference functions. My expectations were very high as it was a function that reflected human perception.
CIE2000
ITP (also called ICtCp or BT.2124)
OKLab
According to those who developed these functions,
with these functions, one can converts RGB values to another triple values,
after that, to calculate the perceptual difference between two colors,
just calculate euclidean distance of the two triple values.
(euclidean distance = usual distance between two points in 3 dimension)
All three functions judged that there was a large difference between the two dark colors, which I didn't notice much of a difference.
To elaborate, with my perception and for my PC monitor,
I assert that
the distance between the light blue and the pink
should be greater then
the distance between the dark gray and navy.
(I used a program called mathematica. And the picture is a part of screenshot for OKlab. Similar result for CIE2000 and ITP.
I'm skipping it because it would be too long to write all the details and attach screenshots.)
Such examples are not hard to find. They are very common and easy to find. (for all three functions.)
Just take two suitably different dark colors and calculate the distance.
It turns out to be considerably larger than the value obtained when comparing two bright colors.
In short, for two dark colors that are virtually not easy to distinguish, if we apply these functions to calculate the color distance, we get a fairly large value.(large color difference)
What went wrong?