Hacker News new | ask | show | jobs
by lawrencegs 3338 days ago
Question here, how do you put a name on the hex? Do you have a database that map each hex code to "limelight", "grey asparagus", etc ?
3 comments

I am using a database with Resene color names (and some names from the Wikipedia colors list) mapped to specific hex codes. I find the closest hex code from the database to the one in your camera and show the name associated with it.

Hope that answers your question!

You could also use the layperson-supplied colour names from the XKCD survey:

https://blog.xkcd.com/2010/05/03/color-survey-results/

http://xkcd.com/color/rgb/

It took colourblindness into account.

At the very bottom of the page you can see the list used: http://people.csail.mit.edu/jaffer/Color/resenecolours.txt
How else would it be done?
Using a RNN that makes up plausible names based on a training set of actual colors.

I kinda hope that was a genuinely curious question and not an arrogant rhetoric one.

Why RNN? I would probably settle for a nearest neighbour in Lab color space.
Because I'm no data scientist but I somewhat understand that a RNN can extrapolate a training set. Nearest neighbors are cool too!
your conception of RNN as a magic bullet is sorely mistaken.

for something like a meaningful name for a colour requires far more learning, data and context than is reasonable...

Welp
You've got like 3 features, and a list of names with values for each one of those features. You could literally do

    _, result = min([(sqrt((i.R - c.R)^2 + (i.G - c.R)^2 + (i.B - c.B)^2), c) for c in colors]) 
and you're done.

Why would you want a computer to come up with color names anyway? They're identifiers, so you want them to be consistent. What if it comes up with names like Piss or Ennui? Why go through that trouble?

You can skip the square root, too.