Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: Convert RGB to an actual color

by hawtin (Prior)
on Nov 19, 2002 at 23:37 UTC ( #214304=note: print w/replies, xml ) Need Help??

in reply to Convert RGB to an actual color

I don't understand your question. Do you mean that you want to match the colour in a given location to the "closest" colour in a fixed set. If so you need to decide which colour space to use and calculate the distance. For RGB you will get good results if you assume the "distance" between two colours is the geometric distance, to compare $c1 and $c2:

$distance = ($c1->red - $c2->red)*($c1->red - $c2->red) + ($c1->green - $c2->green)*($c1->green - $c2->green) + ($c1->blue - $c2->blue)*($c1->blue - $c2->blue);

(of course there is no point in taking the square root if you are comparing distances). If you want to be overly clever you can first convert to another colourspace (HSV would probably be good).

Or you could be wanting to classify the whole picture (i.e. take the average colour work out the closest node and the direction of the difference to call it say "a pinkish green" colour?

Or maybe I have misunderstood you completely?

Update: Or are you thinking about dithering the image (replacing the full set of colours with some picked from a restricted set) in which case you need to look at a good text on "error diffusion" and Floyd-Steinberg.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://214304]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2020-08-12 06:52 GMT
Find Nodes?
    Voting Booth?
    Which rocket would you take to Mars?

    Results (64 votes). Check out past polls.