“Arrondir” les valeurs de couleurs pour le plus proche, dans un petit ensemble de couleurs

Préambule

Comme une partie d'un projet sur lequel je travaille, je suis en train d'essayer de fournir un moyen pratique pour la recherche d'images dans notre système. Nous fournissons actuellement à la recherche par différents types d'utilisateurs ajout de métadonnées (titre, description, mots-clés) et par diverses métadonnées qui nous extraire (par exemple, EXIF, IPTC, XMP, etc). Je tiens aussi à ajouter une "recherche sur la couleur" semblable à ce que vous pouvez voir dans google recherche d'images.

Le projet utilise PHP et nous pouvons utiliser Imagemagick extension de segment et de quantification de l'image et d'en extraire les plus importants"," les couleurs de l'image; je ne suis pas certain de pouvoir les résultats que j'obtiens ici, mais ils semblent raisonnablement précis et certainement mieux que rien.

Le Problème

Le peu que j'ai de la difficulté à convertir ces couleurs importantes dans un jeu de couleurs représentant, par exemple, lorsque vous regardez Google recherche d'images il existe un ensemble de 12 couleurs là. J'aimerais mathématiquement rond "" mon la valeur de la couleur la plus proche représentant de la couleur, de sorte que je peux l'indice de l'image avec les couleurs que je détecte, puis facette de mes résultats de recherche de cette façon.

Des suggestions?

  • Vous êtes à la recherche pour le tour de ces 12 couleurs dans la recherche d'images Google, ou était-ce juste un exemple de la couleur de l'arrondissement? Dans ce dernier cas, combien de couleurs souhaitez-vous idéalement comme à la fin avec l'?
  • Ces 12 serait bien, mais je ne suis pas fixé sur eux. Je pense qu'une approche appropriée devrait fonctionner quelles que soient les valeurs que je suis arrondi, donc je ne pense pas que les valeurs réelles sont importantes.
InformationsquelleAutor El Yobo | 2010-10-30