Search code examples
c#color-schemehistogramsimilarity

I'm trying to design a histogram kinda function


I have a logo and I would like to retrieve the "most used colors", but filter similar colors.

My idea is like the Kuler from Adobe, where you get 3-5 colors that will look nice together. They are often quite a bit apart in the "colorwheel".

So, I receive a image and I would like to see if there is some kinda way to figure out what primary colors it have and then after this result try to figure out what colors would look "Kuler" combined with it.

Question:

How do I make a historygram function that will "group similar colors" ??? To build the histogram I guess I would just make an array of "found colors" and then ++ each time found while scanning the image pixel by pixel.

But instead of RGB(xx,yy,zz) in 256 tones, I think this should be roughly "lowered" to eg. 16 values or perhaps less?

Has anyone done similar or do you have any ideas of how to get started?

I would love to see somekinda example in C# as thats my preferede language for this task.


Solution

  • Tools such as Kuler use color models to determine what colors are 'similar', what the 'illumination' of a color is, how 'bright' a color is or what its counter color is.

    So you might want to read about color models on wikipedia

    Secondly see this post