16-11-2009, 08:29 PM
(Modification du message : 16-11-2009, 09:18 PM par DragonMaster.)
Bon j'avais sous-estimer le défi que représentait l'association d'une couleur à un type de terrain. Je pense que la chose est possible avec les fonctions prédéfinies du GD mais comme je ne suis pas pro il me manque probablement quelque chose. Donc voilà le problème, j'ai 12 types de terrains de 12 couleurs différentes et je dois prendre une image de 16 millions de couleurs pour la réduire le plus fidèlement possible à ces 12 couleurs.
Intuitivement j'ai premièrement fait la moyenne des différences entre chaque couleur:
Intuitivement j'ai premièrement fait la moyenne des différences entre chaque couleur:
Code PHP :
<?php
$red=abs($red1-$red);
$green=abs($green-$green);
$blue=abs($blue-$blue);
$proche=($red+$green+$blue)/3;
Ce qui a donné des résultats pas mal mais qui ne me satisfont pas. Ensuite j'ai découvert les fonctions de type: imagecolorresolve mais pour une raison que j'ignore, lorsque j'ai ma palette de 12 couleurs, la fonction attribut une nouvelle cas de la palette à chaque couleur envoyé jusqu'à ce que la palette contiennent 255 éléments. J'ai aussi essayé avec les image true color et puis imagetruecolortopalette...même problème.
Donc si quelqu'un à une idée je suis preneur. En attendant je vais googler...si quelqu'un connais les algorithme d'associations de couleurs, je suis aussi preneurs...je n'arrive simplement pas à le trouver par moi-même.
Bon déjà je viens de trouver un algo largement utilisé qui ressemble à ce que j'avais fait:
Code PHP :
<?php
$red=pow(($red1-$red),2);
$green=pow(($green-$green),2);
$blue=pow(($blue-$blue),2);
$proche=($red+$green+$blue);
if ($ancien>$proche)
$ancien=$proche