rufo Pas me confondre avec Lycos! | Bon, j'avance, pas mal. Je suis parti sur un algo de type "coloriage". 1) Je choisis un point de départ (le premier que je trouve en partant du haut de mon image et qui est dans la couleur unie de mon image). Je le mets dans la liste des points à traiter.
2) Je dépile le premier point de la liste des points à traiter et le colorie dans la couleur choisie pour le premier polygone (parmi une palette) différente des couleurs qu'on pourrait trouver sur les images à traiter.
3) Je cherche ses voisins connexes dans un rayon de n pixels (ex :2). C'est pour éviter les cas où j'ai 2-3 points isolés très proche d'un gros polygone et que ça soit détecté comme n nouveau polygone mais tout petit.
Pour chacun de ces voisins, je regarde s'il est colorié dans la couleur initiale de l'image (qui est en une seule couleur). Si oui, je vérifie s'il n'est pas déjà dans ma liste des points à traiter. Si ce n'est pas le cas, je l'ajoute.
Je boucle sur les étapes 2 et 3 tant que mon tableau des points à traiter n'est pas vide.
Quand je sors de cette boucle, je passe à la couleur suivante pour un autre polygone.
Je retourne à l'étape 1 et boucle tant que je trouve un pixel dans la couleur de l'image à traiter.
Petit souci : j'ai l'impression que dans certains cas, je boucle indéfiniment. Faut que je vérifie ça, et si c'est le cas, pourquoi. Là, comme ça, je vois rien qui pourrait expliquer une boucle infinie ---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
|