Annonce

#1 2010-12-19 13:30:40

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Fonction de recherche de couleur dominante

Bonjour à tous,

J'essaye de coder une fonction PHP qui permettrait de trouver la couleur dominante d'une image.
Mais pas comme tout ce qu'on trouve sur le net : qui trouvent la couleur de chaque pixel et retourne la couleur la plus utilisée (souvent un gris).
Non je veux trouver la couleur dominante parmi une liste bien définie (exactement comme le fait Picasa).

A partir des fonctions sus-nommées et un peu d'aide sur le forum TrackMania je suis arrivé à ceci
http://pastie.org/1389588

Seulement c'est pas toujours efficace et je me retrouve parfois avec une image analysée verte alors qu'elle est presque totalement rouge.

Comment ca marche :
pour un nombre définis de points sur l'image ($points au carré si l'image est carrée) on récupère la couleur du pixel, puis on la compare aux couleurs de base (tableau $colors) en calculant la norme euclidienne de la différence entre les deux couleurs (je fait ce calcul dans l'espace HSV parce que j'ai eu de meilleurs résultats que dans l'espace RGB), enfin on incrémente les compteurs (un pour chaque base) de l'inverse de cette distance et à la fin du traitement on retourne la plus forte valeur.

Voila ca fait deux semaines que j'y suis et j'arrive pas à trouver ce qui pourrais améliorer la qualité de l'analyse (environ 70% de "bonnes réponses").

J'ai tenté d'analyser tous les pixels mais les résultats ne sont pas meilleurs et ca va beaucoup, beaucoup moins vite.

Hors ligne

#2 2010-12-19 13:35:43

marineraux
Membre
pays de loire
2007-04-16
605

Re: Fonction de recherche de couleur dominante

ColorStat ! jamais essayer mais peut-être une piste ?

http://fr.piwigo.org/ext/extension_view.php?eid=393

Hors ligne

#3 2010-12-19 13:38:17

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Fonction de recherche de couleur dominante

je connais (d'ailleurs il ne marche pas chez moi faut que j'en parle en détail à grum)
mais il fait partie des fonctions dont je parlais qui se contentent de compter les couleurs (il n'y a a qu'a voir l'image d'exemple je pense que c'est clair)

ce qui pèche chez moi, je pense, c'est surtout la partie qui ramène toutes les couleurs à la liste définie par $colors.

Dernière modification par mistic100 (2010-12-19 13:39:08)

Hors ligne

#4 2010-12-19 13:50:41

marineraux
Membre
pays de loire
2007-04-16
605

Re: Fonction de recherche de couleur dominante

ha ok ! bonne continuation ;)

Hors ligne

#5 2010-12-19 14:02:05

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: Fonction de recherche de couleur dominante

mistic100 a écrit:

je connais (d'ailleurs il ne marche pas chez moi faut que j'en parle en détail à grum)
mais il fait partie des fonctions dont je parlais qui se contentent de compter les couleurs (il n'y a a qu'a voir l'image d'exemple je pense que c'est clair)

vi, j'attends des précisions sur le problème rencontré...

Et non, ColorStat ne se contente pas de 'compter' les couleurs exactes d'une image : il analyse bien les couleurs dominantes par rapport à une palette pré-définie. Il restitue ensuite les N premières couleurs dominantes dont la présence sur l'image dépasse un certain pourcentage.

Si tu regardes les images en exemple ici le [Forum, post 142308 by grum in topic 17715] ColorStat, il ne s'agit pas des couleurs de la photos mais des couleurs de la palette pour lesquelles les couleurs de la photo se rapprochent le plus.
Si le résultat ne semble pas convenir à ce que tu cherches, peut-être est-ce parce que les palettes proposées par le plugin disposent encore trop de couleurs ? (cf. palettes ci-jointes)

Si te ne cherche que la teinte, sans tenir compte de la saturation et de la luminosité, effectivement le plugin en l'état ne répondra pas à tes besoins.


Sinon un conseil pour l'analyse des couleurs : travailler en mode HSV et non pas en RGB. => c'ets la teinte (composante H) qui est importante pour la recherche d'une couleur dominante.


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact