I would like to turn everyone's attention to this question before I begin as I want to do something similar: Getting the most common color of an image
Now, I have tested this and it is effective by filtering out the greys although does it really find us the most significant colours? It finds the most yes, although some greys do still show up.
I personally don't feel its the most efficient way. I have a colour histogram function, for both RGB and HSB and this divide up the space, but where do you go from here